Ejemplo n.º 1
0
 public void ListWithDefaultClientTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/availableNumbers?areaCode=866&quantity=5", Helper.AccountId),
         ContentToSend = Helper.CreateXmlContent(new AvailableNumbersResult
         {
             ResultCount = 3,
             TelephoneNumberList = new[] { "1111", "2222", "3333" }
         })
     }))
     {
         var result = AvailableNumbers.List(new Dictionary <string, object>
         {
             { "areaCode", 866 },
             { "quantity", 5 }
         }).Result;
         if (server.Error != null)
         {
             throw server.Error;
         }
         Assert.AreEqual(3, result.ResultCount);
         CollectionAssert.AreEqual(new[] { "1111", "2222", "3333" }, result.TelephoneNumberList);
     }
 }
Ejemplo n.º 2
0
 public BlackWhitePhone()
 {
     AvailableNumbers.AddRange(new List <string>
     {
         "Reset"
     });
 }
Ejemplo n.º 3
0
 public void ListWithXmlTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/availableNumbers?areaCode=866&quantity=5", Helper.AccountId),
         ContentToSend = new StringContent(TestXmlStrings.LocalAreaSearchResultXml, Encoding.UTF8, "application/xml")
     }))
     {
         var client = Helper.CreateClient();
         var result = AvailableNumbers.List(client, new Dictionary <string, object>
         {
             { "areaCode", 866 },
             { "quantity", 5 }
         }).Result;
         if (server.Error != null)
         {
             throw server.Error;
         }
         Assert.AreEqual(2, result.ResultCount);
         var d = result.TelephoneNumberDetailList[0];
         Assert.AreEqual("JERSEY CITY", d.City);
         Assert.AreEqual("224", d.Lata);
         Assert.AreEqual("JERSEYCITY", d.RateCenter);
         Assert.AreEqual("NJ", d.State);
         Assert.AreEqual("2012001555", d.TelephoneNumber);
         d = result.TelephoneNumberDetailList[1];
         Assert.AreEqual("JERSEY CITY", d.City);
         Assert.AreEqual("224", d.Lata);
         Assert.AreEqual("JERSEYCITY", d.RateCenter);
         Assert.AreEqual("NJ", d.State);
         Assert.AreEqual("123123123", d.TelephoneNumber);
     }
 }
Ejemplo n.º 4
0
        static async Task <AvailableNumbersResult> searchTollFree(Client client, string pattern)
        {
            var query = new Dictionary <string, object>();

            query.Add("tollFreeWildCardPattern", pattern);
            query.Add("quantity", 10);
            AvailableNumbersResult numbers = await AvailableNumbers.List(client, query);

            return(numbers);
        }
Ejemplo n.º 5
0
        static async Task <AvailableNumbersResult> searchZipCode(Client client, string zipCode)
        {
            var query = new Dictionary <string, object>();

            query.Add("zip", zipCode);
            query.Add("quantity", 10);
            AvailableNumbersResult numbers = await AvailableNumbers.List(client, query);

            return(numbers);
        }
Ejemplo n.º 6
0
 public ButtonPhone()
 {
     AvailableNumbers.AddRange(new List <string>
     {
         "Enter",
         "Cancel",
         "*",
         "#"
     });
 }
Ejemplo n.º 7
0
        static async Task AvailableNumbersDemo()
        {
            var query = new Dictionary <string, object>();

            query.Add("areaCode", "805");
            query.Add("quantity", 3);
            var result = await AvailableNumbers.List(_client, query);

            foreach (string number in result.TelephoneNumberList)
            {
                Console.WriteLine(string.Format("Number: {0}", number));
            }
        }
Ejemplo n.º 8
0
        public IEnumerable <AvailableNumbers> GetAvailableNumbers()
        {
            string    SQL = @"select employee.new_nationalityId,employee.new_nationalityIdName as new_nationalityName ,employee.new_professionId,employee.new_professionIdName as new_professionName,
	  count(distinct employee.new_EmployeeId) as availablecount from new_employee employee
	  inner join new_indvprice on new_nationality = employee.new_nationalityId
and new_profession = employee.new_professionId  
              where employee.statecode = 0
              and employee.new_employeetype = 3
              and  employee.statuscode in(279640012,1,279640001,279640000)
              and employee.new_indivcontract is null
			  and new_indvprice.statecode = 0 and new_indvprice.new_forweb = 1
	          group by employee.new_nationalityId,employee.new_nationalityIdName,employee.new_professionId,employee.new_professionIdName"    ;
            DataTable dt  = CRMAccessDB.SelectQ(SQL).Tables[0];
            List <AvailableNumbers> List = new List <AvailableNumbers>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (!List.Any(a => a.Nationality == dt.Rows[i]["new_nationalityName"].ToString()))
                {
                    AvailableNumbers n = new AvailableNumbers();
                    n.ProfessionCounts = new List <ProfessionCount>();
                    n.Nationality      = dt.Rows[i]["new_nationalityName"].ToString();
                    n.NationalityId    = dt.Rows[i]["new_nationalityId"].ToString();
                    n.ProfessionCounts.Add(new ProfessionCount()
                    {
                        Profession   = dt.Rows[i]["new_professionName"].ToString(),
                        ProfessionId = dt.Rows[i]["new_professionId"].ToString(),
                        Count        = dt.Rows[i]["availablecount"].ToString(),
                    });
                    List.Add(n);
                }
                else
                {
                    List.FirstOrDefault(a => a.Nationality == dt.Rows[i]["new_nationalityName"].ToString()).ProfessionCounts.Add(new ProfessionCount()
                    {
                        Profession   = dt.Rows[i]["new_professionName"].ToString(),
                        ProfessionId = dt.Rows[i]["new_professionId"].ToString(),
                        Count        = dt.Rows[i]["availablecount"].ToString(),
                    });
                }
            }

            return(List);
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting the Phone Number Ordering App");

            useHttp(true); //not https
            port("8080");
            startServerInstance();

            post("/subscriptions/orders", (EagleRequest request, HttpListenerResponse response) =>
            {
                XmlSerializer serializer  = new XmlSerializer(typeof(Notification));
                Notification notification = (Notification)serializer.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(request.Body)));
                Console.WriteLine(notification.Status);
                Console.WriteLine(notification.Message);
            });

            post("/subscriptions/disconnects", (EagleRequest request, HttpListenerResponse response) =>
            {
                XmlSerializer serializer  = new XmlSerializer(typeof(Notification));
                Notification notification = (Notification)serializer.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(request.Body)));
                Console.WriteLine(notification.Status);
                Console.WriteLine(notification.Message);

                var phoneNumber = notification.CompletedTelephoneNumbers[0];

                storage.Remove(phoneNumber);
            });

            get("/availablePhoneNumbers", (EagleRequest request, HttpListenerResponse response) =>
            {
                var queryParams = request.RawRequest.QueryString;
                var query       = new Dictionary <string, object>()
                {
                    { "quantity", 10 },
                };

                if (queryParams.Get("zipCode") != null)
                {
                    query.Add("zip", queryParams.Get("zipCode"));
                }

                if (queryParams.Get("areaCode") != null)
                {
                    query.Add("areaCode", queryParams.Get("areaCode"));
                }


                try
                {
                    var res = AvailableNumbers.List(client, query).Result;
                    return(res.TelephoneNumberList);
                } catch (AggregateException ex)
                {
                    if (ex.InnerException is BandwidthIrisException)
                    {
                        response.StatusCode           = 400;
                        BandwidthIrisException irisEx = (BandwidthIrisException)ex.InnerException;
                        return(new Error
                        {
                            BandwidthErrorCode = irisEx.Code,
                            BandwidthErrorDescription = irisEx.Body.ToString(),
                            Description = "Bandwidth Invalid User Input",
                            Type = "validation"
                        });
                    }
                    throw ex;
                }
            });

            post("/phoneNumbers", (EagleRequest request, HttpListenerResponse response) =>
            {
                string phoneNumber = request.Body.phoneNumber;

                if (storage.ContainsKey(phoneNumber))
                {
                    return(new Error
                    {
                        Type = "owned number",
                        Description = "You have already ordered this number."
                    });
                }

                OrderResult orderResult;
                try
                {
                    orderResult = Order.Create(client, new Order
                    {
                        CustomerOrderId = "customerOrderId",
                        SiteId          = SITE_ID, //The site to order the number for
                        ExistingTelephoneNumberOrderType = new ExistingTelephoneNumberOrderType
                        {
                            TelephoneNumberList = new string[] { phoneNumber }
                        }
                    }).Result;
                } catch (AggregateException ex)
                {
                    if (ex.InnerException is BandwidthIrisException)
                    {
                        response.StatusCode           = 400;
                        BandwidthIrisException irisEx = (BandwidthIrisException)ex.InnerException;
                        return(new Error
                        {
                            BandwidthErrorCode = irisEx.Code,
                            BandwidthErrorDescription = irisEx.Body.ToString(),
                            Description = "Bandwidth Invalid User Input",
                            Type = "validation"
                        });
                    }
                    throw ex;
                }

                var orderIdentifier = new OrderIdentifier
                {
                    OrderId     = orderResult.Order.OrderId,
                    PhoneNumber = phoneNumber
                };
                storage.Add(phoneNumber, orderIdentifier);
                response.StatusCode = 201;
                return(orderIdentifier);
            });

            get("/phoneNumbers", (EagleRequest request, HttpListenerResponse response) =>
            {
                return(storage.Values);
            });

            delete("/phoneNumbers/{phoneNumber}", (EagleRequest request, HttpListenerResponse response) =>
            {
                string phoneNumber = request.PathInfo.PathParameters.phoneNumber;

                if (!storage.ContainsKey(phoneNumber))
                {
                    response.StatusCode = 404;
                    return(new Error
                    {
                        Description = "This number has not ordered yet, cannot remove.",
                        Type = "not found"
                    });
                }

                try
                {
                    Disconnect.Create(client, "orderName", phoneNumber);
                }
                catch (AggregateException ex)
                {
                    if (ex.InnerException is BandwidthIrisException)
                    {
                        response.StatusCode           = 400;
                        BandwidthIrisException irisEx = (BandwidthIrisException)ex.InnerException;
                        return(new Error
                        {
                            BandwidthErrorCode = irisEx.Code,
                            BandwidthErrorDescription = irisEx.Body.ToString(),
                            Description = "Bandwidth Invalid User Input",
                            Type = "validation"
                        });
                    }
                    throw ex;
                }
                response.StatusCode = 201;
                return(new Dictionary <string, bool>()
                {
                    { "Recieved", true }
                });
            });

            post("/stop", (EagleRequest request, HttpListenerResponse response) => {
                stop();
                return("Server Shutting Down");
            });

            Console.WriteLine("Server is Ready!!!!!!!!!");
            WaitOnServerToStop();
        }