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

ProvisionTollFreePhoneNumber() public method

public ProvisionTollFreePhoneNumber ( String phoneNumber, String voiceUrl = null, String voiceFallbackUrl = null ) : twilio.sugar.Model.PhoneNumber
phoneNumber String
voiceUrl String
voiceFallbackUrl String
return twilio.sugar.Model.PhoneNumber
        public PhoneNumber ProvisionTollFreePhoneNumber(String phoneNumber, String voiceUrl = null, String voiceFallbackUrl = null)
        {
            if ((String.IsNullOrEmpty(phoneNumber)))
            {
                throw new ArgumentNullException("phoneNumber");
            }

            _parameters.Clear();
            _parameters.Add("PhoneNumber", phoneNumber);
            if (!String.IsNullOrEmpty(voiceUrl))
            {
                _parameters.Add("VoiceUrl", voiceUrl);
                _parameters.Add("VoiceMethod", "GET");
            }
            if (!String.IsNullOrEmpty(voiceFallbackUrl))
            {
                _parameters.Add("VoiceFallbackUrl", voiceFallbackUrl);
            }

            _twilioResponse = _account.request(String.Format("Accounts/{0}/IncomingPhoneNumbers.json", _account.id), "POST", _parameters);
            dynamic data = ParseResponseData(_twilioResponse);

            var phone = new PhoneNumber
            {
                sid = data.sid,
                account_sid = data.account_sid,
                friendly_name = data.friendly_name,
                phone_number = data.phone_number,
                voice_url = data.voice_url,
                voice_method = data.voice_method,
                voice_fallback_url = data.voice_fallback_url,
                voice_fallback_method = data.voice_fallback_method,
                voice_caller_id_lookup = Convert.ToBoolean(data.voice_caller_id_lookup),
                date_created = !String.IsNullOrEmpty(data.date_created) ? Convert.ToDateTime(data.date_created) : null,
                date_updated = !String.IsNullOrEmpty(data.date_updated) ? Convert.ToDateTime(data.date_updated) : null,
                sms_url = data.sms_url,
                sms_method = data.sms_method,
                sms_fallback_url = data.sms_fallback_url,
                sms_fallback_method = data.sms_fallback_method,
                capabilities = new Capabilities
                {
                    sms = !String.IsNullOrEmpty(data.capabilities.sms) ? Convert.ToBoolean(data.capabilities.sms) : null,
                    voice = !String.IsNullOrEmpty(data.capabilities.voice) ? Convert.ToBoolean(data.capabilities.voice) : null
                },
                status_callback = data.status_callback,
                status_callback_method = data.status_callback_method,
                api_version = data.api_version,
                uri = data.uri
            };

            return phone;
        }