/// <summary> /// /// </summary> /// <param name="MaximumSms"></param> /// <param name="AllowVoiceSms"></param> /// <param name="networkProvider"></param> /// <param name="serviceProviderId"></param> /// <exception cref="RentCodeException"></exception> /// <returns></returns> public Task <RentCodeResult> Request( int?MaximumSms = null, bool?AllowVoiceSms = null, NetworkProvider networkProvider = NetworkProvider.None, ServiceProviderId serviceProviderId = ServiceProviderId.Facebook) { if (serviceProviderId == ServiceProviderId.None) { throw new RentCodeException("serviceProviderId is required"); } var parameters = HttpUtility.ParseQueryString(string.Empty); parameters["apiKey"] = ApiKey; parameters["ServiceProviderId"] = ((int)serviceProviderId).ToString(); if (networkProvider != NetworkProvider.None) { parameters["NetworkProvider"] = ((int)networkProvider).ToString(); } if (MaximumSms != null) { parameters["MaximumSms"] = MaximumSms.Value.ToString(); } if (AllowVoiceSms != null) { parameters["AllowVoiceSms"] = AllowVoiceSms.Value.ToString(); } return(RequestGet <RentCodeResult>(EndPoint + "order/request?" + parameters.ToString())); }
=> Apply(new ServiceProviderCreated(ServiceProviderId, name));