public ActionResult SendSmS(SendSmsModel model, int?[] groups) { if (_workerContext.CurrentUserPersonalInformation.UserId != null) { var sendType = _genservice.GetAllSendType(); var importname = _genservice.GetImportEntityPerUserID(_workerContext.CurrentUserPersonalInformation.UserId); BindCombo(model, importname); ComposeSms sms = new ComposeSms(); if (model != null) { List<string> numbers = model.receipientNumber.Split(',').ToList(); if (!string.IsNullOrEmpty(model.countryCode)) { var num = _genservice.Numbers(numbers, model.countryCode); if (num.Contains("Please Correct")) { model.merge.Add(new SelectListItem() { Text = "-Select-", Value = "-1", Selected = (model.mergestring == null) }); foreach (ImportEntity s in importname) model.merge.Add(new SelectListItem() { Text = s.BatchName, Value = s.BatchName, Selected = (s.BatchName == model.mergestring) }); //model.Sendtype.Add(new SelectListItem() { Text = "-Select Send type-", Value = "-1", Selected = (model.Sendtype == null) }); foreach (SenderType s in sendType) model.Sendtype.Add(new SelectListItem() { Text = s.Sendtype, Value = s.Id.ToString(), Selected = (s.Id == model.SendtypeId) }); TempData["line"] = string.Join(" ", num.ToArray()); ; return View(model); } #region if (model.DontSave == true) { var person = EngineContext.Resolve<IAuthenticationService>().GetAuthenticatedUser().UserId; sms.SenderId = model.SenderId; sms.message = model.message; sms.UserId = _workerContext.CurrentUserPersonalInformation.UserId; sms.SMSDate = DateTime.Now; if (model.SendLaterDate > DateTime.Now) { sms.SendLaterDate = model.SendLaterDate; sms.SendLaterTime = model.SendLaterTime; } else { sms.SendLaterDate = null; sms.SendLaterTime = null; } if (model.SendtypeId >= 1) { sms.SendTypeId = model.SendtypeId; } else { TempData["warning"] = "Please Select send type"; } if (groups != null) { var phonebook = _genservice.SendFromPhoneBook(groups); foreach (string pnum in phonebook) { num.Add(pnum); } } foreach (string s_numbers in num.Distinct()) { if (model.SendLaterDate > DateTime.Now) { sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Pending; _genservice.numbers(sms); } sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Waiting; _genservice.numbers(sms); } //_smsService.SendSms(sms); //_genservice.Savenumbers(sms.NumberId); //_genservice.SaveMessagenumbers() //doing the actuall sending //if (sms.SendTypeId == 1) //{ // foreach (string x in sms.r.Split(',')) // { // string pattern = @"\d{11}"; // if (Regex.Match(x.Trim(), pattern).Success) // { // } // else // { // TempData["rollback"] = string.Format("{0},Is not in correct format", x); // } // } // TempData["Success"] = "Sent Succefully"; //} if (sms.SendTypeId == 2) { TempData["Success"] = "Sucessfully saved as Draft"; } if (sms.SendTypeId == 3) { TempData["Success"] = "Your message will be sent at the stipulated time"; } } #endregion #region if (model.SaveAs == true) { //checking if the batchName already exist for that user var existingbook = _genservice.GetBatchNameForUser(model.newGroup, _workerContext.CurrentUserPersonalInformation.UserId); if (!string.IsNullOrEmpty(existingbook)) { ImportEntity import = new ImportEntity(); import.BatchName = model.newGroup; import.BatchCount = num.Count(); import.countryCode = model.countryCode; import.Numbers = String.Join(",", num); import.UserId = _workerContext.CurrentUserPersonalInformation.UserId; _genservice.saveBulk(import); TempData["success"] = "Sucessfully Updated"; var person = EngineContext.Resolve<IAuthenticationService>().GetAuthenticatedUser().UserId; sms.SenderId = model.SenderId; sms.message = model.message; sms.UserId = _workerContext.CurrentUserPersonalInformation.UserId; sms.SMSDate = DateTime.Now; if (model.SendLaterDate > DateTime.Now) { sms.SendLaterDate = model.SendLaterDate; sms.SendLaterTime = model.SendLaterTime; } else { sms.SendLaterDate = null; sms.SendLaterTime = null; } if (model.SendtypeId >= 1) { sms.SendTypeId = model.SendtypeId; } else { TempData["warning"] = "Please Select send type"; } if (groups != null) { var phonebook = _genservice.SendFromPhoneBook(groups); foreach (string pnum in phonebook) { num.Add(pnum); } } foreach (string s_numbers in num.Distinct()) { if (model.SendLaterDate > DateTime.Now) { sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Pending; _genservice.numbers(sms); } sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Waiting; _genservice.numbers(sms); } //doing the actual sending //if (sms.SendTypeId == 1) //{ // foreach (string x in sms.receipientNumber.Split(',')) // { // string pattern = @"\d{11}"; // if (Regex.Match(x.Trim(), pattern).Success) // { // } // else // { // TempData["rollback"] = string.Format("{0},Is not in correct format", x); // } // } // TempData["Success"] = "Sent Succefully"; //} if (sms.SendTypeId == 2) { TempData["Success"] = "Sucessfully saved as Draft"; } if (sms.SendTypeId == 3) { TempData["Success"] = "Your message will be sent at the stipulated time"; } } } #endregion #region if (model.MergeInto == true) { var oldgroupNum = _genservice.GetBatchNumbersWithUserId(_workerContext.CurrentUserPersonalInformation.UserId, model.mergestring); List<string> mergeWith = oldgroupNum.Numbers.Split(',').ToList<string>(); List<string> lst = model.receipientNumber.Split(',').ToList(); var newNum = _genservice.Numbers(lst, model.countryCode); if (newNum.Contains("Please Correct")) { model.merge.Add(new SelectListItem() { Text = "-Select-", Value = "-1", Selected = (model.mergestring == null) }); foreach (ImportEntity s in importname) model.merge.Add(new SelectListItem() { Text = s.BatchName, Value = s.BatchName, Selected = (s.BatchName == model.mergestring) }); //model.Sendtype.Add(new SelectListItem() { Text = "-Select Send type-", Value = "-1", Selected = (model.Sendtype == null) }); foreach (SenderType s in sendType) model.Sendtype.Add(new SelectListItem() { Text = s.Sendtype, Value = s.Id.ToString(), Selected = (s.Id == model.SendtypeId) }); TempData["line"] = string.Join(" ", num.ToArray()); ; return View(model); } foreach (string merge in mergeWith) { newNum.Add(merge); } newNum.Count(); //ImportEntity import = new ImportEntity(); oldgroupNum.BatchName = model.mergestring; oldgroupNum.BatchCount = newNum.Count(); oldgroupNum.countryCode = model.countryCode; oldgroupNum.Numbers = String.Join(",", newNum); oldgroupNum.UserId = _workerContext.CurrentUserPersonalInformation.UserId; _genservice.saveBulk(oldgroupNum); TempData["success"] = "Sucessfully Updated"; foreach (string addto in newNum) { num.Add(addto); } var person = EngineContext.Resolve<IAuthenticationService>().GetAuthenticatedUser().UserId; sms.SenderId = model.SenderId; sms.message = model.message; sms.UserId = _workerContext.CurrentUserPersonalInformation.UserId; sms.SMSDate = DateTime.Now; if (model.SendLaterDate > DateTime.Now) { sms.SendLaterDate = model.SendLaterDate; sms.SendLaterTime = model.SendLaterTime; } else { sms.SendLaterDate = null; sms.SendLaterTime = null; } if (model.SendtypeId >= 1) { sms.SendTypeId = model.SendtypeId; } else { TempData["warning"] = "Please Select send type"; } if (groups != null) { var phonebook = _genservice.SendFromPhoneBook(groups); foreach (string pnum in phonebook) { num.Add(pnum); } } foreach (string s_numbers in num.Distinct()) { if (model.SendLaterDate > DateTime.Now) { sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Pending; _genservice.numbers(sms); } sms.NumberId = s_numbers; sms.MessageStatusId = (int)SystemEnums.MessageStatus.Waiting; _genservice.numbers(sms); } //doing the actual sending //if (sms.SendTypeId == 1) //{ // foreach (string x in sms.receipientNumber.Split(',')) // { // string pattern = @"\d{11}"; // if (Regex.Match(x.Trim(), pattern).Success) // { // } // else // { // TempData["rollback"] = string.Format("{0},Is not in correct format", x); // } // } // TempData["Success"] = "Sent Succefully"; //} if (sms.SendTypeId == 2) { TempData["Success"] = "Sucessfully saved as Draft"; } if (sms.SendTypeId == 3) { TempData["Success"] = "Your message will be sent at the stipulated time"; } } #endregion } } model.merge.Add(new SelectListItem() { Text = "-Select-", Value = "-1", Selected = (model.mergestring == null) }); foreach (ImportEntity s in importname) model.merge.Add(new SelectListItem() { Text = s.BatchName, Value = s.BatchName, Selected = (s.BatchName == model.mergestring) }); //model.Sendtype.Add(new SelectListItem() { Text = "-Select Send type-", Value = "-1", Selected = (model.Sendtype == null) }); foreach (SenderType s in sendType) model.Sendtype.Add(new SelectListItem() { Text = s.Sendtype, Value = s.Id.ToString(), Selected = (s.Id == model.SendtypeId) }); return RedirectToAction("SuccessPages", "Home"); } else return RedirectToAction("Default", "Default"); }
public void numbers(ComposeSms entry, Numbers num) { this._smsStatus.SaveOrUpdate(entry); if(!string.IsNullOrEmpty(entry.NumberId)) { } }
public void SaveMessagenumbers(ComposeSms entry) { var sendDate = entry.SendLaterDate.HasValue ? entry.SendLaterDate.Value :DateTime.Now.Date; var sendTime = entry.SendLaterTime.HasValue ? entry.SendLaterTime.Value : DateTime.Now.ToLocalTime(); Procedures.Messages(entry.message,entry.MessageStatusId, entry.SenderId, entry.SMSDate, entry.UserId, sendTime, sendDate, entry.SendTypeId, entry.NumberId); }
public ComposeSms SendSms(ComposeSms entry) { this._smsStatus.SaveOrUpdate(entry); return entry; }
public void numbers(ComposeSms entry) { var num = NumbersReused(entry.NumberId); if (!string.IsNullOrEmpty(entry.NumberId) && string.IsNullOrEmpty(num)) { try { Savenumbers(entry.NumberId); SaveMessagenumbers(entry); } catch(Exception ex) { throw ex; } } else if(!string.IsNullOrEmpty(num)) { SaveMessagenumbers(entry); } }