twilio.sugar.Model.PhoneAutomation.AvailableLocalPhoneNumbers C# (CSharp) Method

AvailableLocalPhoneNumbers() public method

public AvailableLocalPhoneNumbers ( Int32 areaCode = null, String contains = null, String inRegion = null, Int32 inPostalCode = null ) : IList
areaCode System.Int32
contains String
inRegion String
inPostalCode System.Int32
return IList
        public IList<AvailablePhoneNumber> AvailableLocalPhoneNumbers(Int32? areaCode = null, String contains = null, String inRegion = null, Int32? inPostalCode = null)
        {
            _parameters.Clear();
            if (areaCode.HasValue) {
                _parameters.Add("AreaCode", areaCode);
            }
            if (!String.IsNullOrEmpty(contains)) {
                _parameters.Add("Contains", contains);
            }
            if (!String.IsNullOrEmpty(inRegion)) {
                _parameters.Add("InRegion", inRegion);
            }
            if (inPostalCode.HasValue) {
                _parameters.Add("InPostalCode", inPostalCode);
            }

            _twilioResponse = _account.request(String.Format("Accounts/{0}/AvailablePhoneNumbers/{1}/Local.json", _account.id, IsoCountryCode), "GET", _parameters);
            dynamic data = ParseResponseData(_twilioResponse);

            IList<AvailablePhoneNumber> phoneNumbers = new List<AvailablePhoneNumber>();

            foreach (dynamic item in data.available_phone_numbers) {
                phoneNumbers.Add(new AvailablePhoneNumber {
                    friendly_name = item.friendly_name,
                    iso_country = item.iso_country,
                    lata = item.lata,
                    latitude = !String.IsNullOrEmpty(item.latitude) ? Convert.ToDecimal(item.latitude) : null,
                    longitude = !String.IsNullOrEmpty(item.longitude) ? Convert.ToDecimal(item.longitude) : null,
                    phone_number = item.phone_number,
                    postal_code = item.postal_code,
                    rate_center = item.rate_center,
                    region = item.region
                });
            }

            return phoneNumbers;
        }

Usage Example

        public void AvailableLocalPhoneNumbersByAreaCodeShouldReturnAvailablePhoneNumbersList()
        {
            var account = new TwilioAccountMock();
            var phoneAutomation = new PhoneAutomation(account);
            var availablePhoneNumbers = phoneAutomation.AvailableLocalPhoneNumbers(1);

            Assert.IsNotNull(availablePhoneNumbers);
        }