forked from plivo/plivo-examples-dotnet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPlivoNumber.cs
90 lines (84 loc) · 3.98 KB
/
PlivoNumber.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Reflection;
using RestSharp;
using Plivo.API;
using dict = System.Collections.Generic.Dictionary<string, string>;
namespace PlivoNumber
{
class Program
{
static void Main(string[] args)
{
string auth_id = "<your auth_id>";
string auth_token = "<your auth_token>";
RestAPI plivo = new RestAPI(auth_id, auth_token);
Console.WriteLine("============================================");
string varNumber = "";
// Get all rented numbers from account
IRestResponse<NumberList> response_number_list = plivo.get_numbers();
if (response_number_list.Data != null)
{
varNumber = response_number_list.Data.objects[0].number;
foreach (Number number in response_number_list.Data.objects)
foreach (PropertyInfo attr in number.GetType().GetProperties())
Console.WriteLine("{0}: {1}", attr.Name, attr.GetValue(number, null));
}
else
Console.WriteLine(response_number_list.ErrorMessage);
Console.WriteLine("============================================");
// Get details of a particular number
IRestResponse<Number> response_number_info = plivo.get_number(new dict {
{ "number", varNumber }
});
if (response_number_info.Data != null)
{
foreach (PropertyInfo property in response_number_info.Data.GetType().GetProperties())
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(response_number_info.Data, null));
}
else
Console.WriteLine(response_number_info.ErrorMessage);
Console.WriteLine("============================================");
// Search for numbers
string rent_number = "";
Console.WriteLine("============================================");
IRestResponse<NumberList> response_search_list = plivo.search_numbers(new dict {
{ "country_code", "1" },
{ "prefix", "2*" },
{ "limit", "2" }
});
if (response_search_list.Data != null)
{
if (response_search_list.Data.meta.total_count > 0)
{
rent_number = response_search_list.Data.objects[0].number;
foreach (Number number in response_search_list.Data.objects)
foreach (PropertyInfo property in number.GetType().GetProperties())
{
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(number, null));
Console.WriteLine("--------------------------------------------------");
}
}
else
Console.WriteLine(response_search_list.Data.error);
}
else
Console.WriteLine(response_search_list.ErrorMessage);
Console.WriteLine("==================================================");
//Rent number
IRestResponse<GenericResponse> response_rent_number = plivo.rent_number(new dict {
{ "number", rent_number }
});
if (String.Equals(response_rent_number.Data.message, "created"))
Console.WriteLine("Rented {0}", rent_number);
Console.WriteLine("==================================================");
// Unrent number
IRestResponse<GenericResponse> response_unrent_number = plivo.unrent_number(new dict {
{ "number", rent_number },
});
if (response_unrent_number.Data != null)
Console.WriteLine(response_unrent_number.Data.message);
else
} Console.WriteLine(response_unrent_number.ErrorMessage);
}
}