public static bool SendSingleFutureSms(SmsSenderAgentReference smsSenderAgentRefrence, Guid userGuid, Guid smsSentGuid, Guid sentboxGuid, string reciever, int smsPartCount, Encoding encoding) { Business.Sms smsController = new Business.Sms(); Business.SmsTypes smsType = encoding == Business.Encoding.Utf8 ? Business.SmsTypes.Farsi : Business.SmsTypes.Latin; smsController.BeginTransaction(); try { List <string> lstNumbers = reciever.Split(',').ToList(); Dictionary <Business.Operators, int> operatorCountNumberDictionary = GetCountNumberOfOperators(lstNumbers); //Transaction.DecreaseCostOfSmsSend(userGuid, Business.SmsSendType.SendSms, // operatorCountNumberDictionary, smsPartCount, smsType, smsSenderAgentRefrence, smsSentGuid, smsController.DataAccessProvider); XDocument doc = new XDocument(); XElement root = new XElement("NewDataSet"); foreach (string number in lstNumbers) { XElement element = new XElement("Table"); element.Add(new XElement("Reciever", number)); root.Add(element); } doc.Add(root); if (!smsController.SendSingleFutureSms(sentboxGuid, doc.ToString())) { throw new Exception(Language.GetString("ErrorRecord")); } smsController.CommitTransaction(); return(true); } catch (InnerTransactionException ex) { throw ex; } catch (Exception ex) { smsController.RollbackTransaction(); throw ex; } }