예제 #1
0
        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");
        }
예제 #2
0
        public ActionResult SavedSms(SendSmsModel sent)
        {
            _httpContextBase.Session["SendSmsModel"] = sent;

            return View(sent);
        }
예제 #3
0
        public ActionResult SendSmS()
        {
            if (_workerContext.CurrentUserPersonalInformation.UserId != null)
            {
               ViewBag.date = DateTime.Now.ToShortDateString();
            ViewBag.time = DateTime.Now.ToShortTimeString();

            SendSmsModel model = new SendSmsModel();
            var importname = _genservice.GetImportEntityPerUserID(_workerContext.CurrentUserPersonalInformation.UserId);
            BindCombo(model, importname);
            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) });

            var sendType = _genservice.GetAllSendType();
            //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 View(model);
            }
              else  return RedirectToAction("Default","Default");
        }
예제 #4
0
 public ActionResult SavedSms()
 {
     var model = new SendSmsModel();
     model.StartDate = model.EndDate = _dateTime.ConvertToUserTime(System.DateTime.Now);
     return View(model);
 }
예제 #5
0
        public ActionResult Read_Sent([DataSourceRequest] DataSourceRequest request, SendSmsModel model)
        {
            if (model != null)
            {

                var smsInfo = _smsService.getSentSms(model.StartDate, model.EndDate, model.SenderId);

                var list = smsInfo.Select(x => new sentGridModel
                {
                    Datesent = x.SMSDate,
                    message = x.message,
                    receipient = x.num.Number
                });

                return Json(list.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
            }
            else
                return View(model);
        }
예제 #6
0
        public ActionResult Read_Saved([DataSourceRequest] DataSourceRequest request,SendSmsModel model)
        {
            //var model = _httpContextBase.Session["sms"] as SavedGridModel ??
            //                new SavedGridModel();

            var smsInfo = _smsService.getSavedSms(model.StartDate, model.EndDate, model.SenderId);

            var list = smsInfo.Select(x => new sentGridModel
            {
                Datesent = x.SMSDate,
                message = x.message,
                receipient = x.num.Number
            });

            return Json(list.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
        }
예제 #7
0
 private void BindCombo(SendSmsModel model,IEnumerable<ImportEntity> Availablebooks)
 {
     IList<ImportEntity> importname = new List<ImportEntity>();
       model.mergeNum = new MultiSelectList(Availablebooks, "Id", "BatchNameAndCount", importname.Select(x => x.Id));
 }
예제 #8
0
 public ActionResult SentSmS()
 {
     var model = new SendSmsModel();
     model.StartDate = model.EndDate = _dateTime.ConvertToUserTime(System.DateTime.Now);
     _httpContextBase.Session["AuditTrailModel"] = model;
     return View(model);
 }