public PhoneNumber UpdateProvisionedPhoneNumber(PhoneNumber model)
{
if (model == null || String.IsNullOrEmpty(model.sid))
{
throw new ArgumentNullException("model");
}
_parameters.Clear();
AddParametersFromPhoneNumberModel(model);
_twilioResponse = _account.request(String.Format("Accounts/{0}/IncomingPhoneNumbers/{1}.json", _account.id, model.sid), "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 = 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;
}