private async Task SmsSender()
 {
     await Task.Run(async() =>
     {
         ButtonTitle         = "  " + "انصراف از ادامه ارسال" + "  ";
         SmsSendingIsRunning = true;
         foreach (var SmsItem in SmsList.ToList())
         {
             SmsItem.SendSuccessfully = await Sms.SendSms(SmsItem.Cellphone, SmsItem.Message);
             if (SmsItem.SendSuccessfully)
             {
                 SmsItem.Status = "با موفقیت ارسال شد";
             }
             else
             {
                 SmsItem.Status = "ارسال نشد";
             }
             if (AllowToBreakSmsSending)
             {
                 AllowToBreakSmsSending = false;
                 break;
             }
         }
         SmsSendingIsRunning = false;
         ButtonOk.Dispatcher.Invoke(() => { ButtonOk.IsEnabled = true; });
         ButtonTitle = "  " + "بازگشت" + "  ";
         if (SmsList.Any(x => !x.SendSuccessfully))
         {
             ButtonSave.Dispatcher.Invoke(() => { ButtonSave.Visibility = Visibility.Visible; });
         }
     });
 }
Esempio n. 2
0
        public int SendSms([FromBody] SmsList objParam)
        {
            int        type   = objParam.smsType;
            List <Sms> smsLst = objParam.lst;

            foreach (Sms l in smsLst)
            {
                using (WebClient client = new WebClient())
                {
                    var mno     = l.Phnumber;
                    var message = l.Message;
                    var url     = "";
                    if (type == 1)
                    {
                        url = "http://smsc.biz/httpapi/[email protected]&password=vaddepally123&sender_id=SSBCHT&route=T&phonenumber=" + mno + "&message=" + message + "";
                    }
                    else if (type == 2)
                    {
                        url = "http://smsc.biz/httpapi/[email protected]&password=vaddepally123&sender_id=PROMOTIONAL&route=P&phonenumber=" + mno + "&message=" + message + "";
                    }
                    var res = client.DownloadString(url);
                }
            }
            return(1);
        }
Esempio n. 3
0
        public ActionResult _Index_SmsReview()
        {
            ReviewModel rwModel = new ReviewModel();

            rwModel = SmsList.GetReviewList(1, 1, 0, DateTime.Now.AddDays(-6), DateTime.Now);

            return(PartialView(rwModel.Data));
        }
Esempio n. 4
0
        /// <summary>
        /// 载入配置文件
        /// </summary>
        /// <returns></returns>
        public static bool loadFromFile()
        {
            bool ret = false;

            try
            {
                XmlDocument XMLDom = new XmlDocument();
                XMLDom.Load(APP_PATH + FILE);
                XmlElement root = XMLDom.DocumentElement;
                dbHost = readXmlNode(root, "dbHost");
                dbName = readXmlNode(root, "dbName");
                dbUser = Pub.Decode(readXmlNode(root, "dbUser"));
                dbPw   = Pub.Decode(readXmlNode(root, "dbPw"));

                SmsList.Clear();
                XmlNodeList smsnds = root.GetElementsByTagName("smsConfig");
                foreach (XmlElement snd in smsnds)
                {
                    SmsConfig smsconfig = new SmsConfig();
                    smsconfig.SmsName = readXmlNode(snd, "smsName");
                    smsconfig.SmsHost = readXmlNode(snd, "smsHost");
                    smsconfig.SmsPort = Int32.Parse(readXmlNode(snd, "smsPort"));
                    smsconfig.SmsPw   = Pub.Decode(readXmlNode(snd, "smsPw"));
                    smsconfig.Enabled = readXmlNode(snd, "enabled") == "1";
                    SmsList.Add(smsconfig);
                }
                smsAutoStart = readXmlNode(root, "smsAutoStart") == "1";

                dataPort      = Int32.Parse(readXmlNode(root, "dataPort"));
                dataPw        = readXmlNode(root, "dataPw");
                dataAutoStart = readXmlNode(root, "dataAutoStart") == "1";

                modemPort      = Int32.Parse(readXmlNode(root, "modemPort"));
                modemPw        = readXmlNode(root, "modemPw");
                modemAutoStart = readXmlNode(root, "modemAutoStart") == "1";

                gprsPort      = Int32.Parse(readXmlNode(root, "gprsPort"));
                tcpCutTime    = Int32.Parse(readXmlNode(root, "tcpCutTime"));
                gprsAutoStart = readXmlNode(root, "gprsAutoStart") == "1";

                allowChat = readXmlNode(root, "allowChat") == "1";

                ret = true;
            }
            catch
            {
                saveToFile();
            }
            return(ret);
        }
Esempio n. 5
0
        /// <summary>
        /// 保存短信通告信息
        /// </summary>
        /// <param name="noticeType">通告类型</param>
        /// <param name="noticeId">Id</param>
        /// <param name="flagEdit">修改标记</param>
        /// <param name="display">显示设置</param>
        /// <param name="noticeText">通告内容</param>
        /// <returns></returns>
        public string SaveNoticeText(int flagEdit, int noticeId, int noticeChk, string noticeText)
        {
            ManageUserModel uM = (ManageUserModel)Session["logUser"];

            noticeText = Server.UrlDecode(noticeText.Trim());
            var opName = uM.Name;
            var opIp   = Request.UserHostAddress;

            if (noticeId == 0)
            {
                flagEdit = 1;
            }
            var objInfo = SmsList.SaveNoticeText(1, noticeId, flagEdit, noticeChk, noticeText, opName, opIp);

            return(objInfo.ToString());
        }
Esempio n. 6
0
        public ActionResult Review(int notifyId, int reviewType, int channelType, int mobile, int unicom,
                                   int telecom, int operatorId = 0, string reviewDesc = "")
        {
            int status = SmsList.SetReviewSms(notifyId, reviewType, channelType, mobile, unicom, telecom, operatorId,
                                              reviewDesc);

            if (status != 0)
            {
                Response.Write("<script>alert('审核成功!')</script>");
                return(RedirectToAction("SmsReview"));
            }
            else
            {
                Response.Write("<script>alert('审核失败!')</script>");
                return(RedirectToAction("SmsReview"));
            }
        }
Esempio n. 7
0
        public string IndexReview(int notifyId, int reviewType, int channelType, int mobile, int unicom,
                                  int telecom, string reviewDesc = "")
        {
            ManageUserModel uM = (ManageUserModel)Session["logUser"];

            int status = SmsList.SetReviewSms(notifyId, reviewType, channelType, mobile, unicom, telecom, uM.UserID,
                                              reviewDesc);

            if (status != 0)
            {
                return("1");
            }
            else
            {
                return("2");
            }
        }
Esempio n. 8
0
        public ActionResult SmsReview(int pageIndex = 1, int pageSize = 15, string timePeriod = "7", string start = "", string end = "")
        {
            ViewBag.page = pageIndex;
            ReviewModel rModel = new ReviewModel();

            DateTime st = DateTime.Now.AddDays(-6);
            DateTime ed = DateTime.Now;

            if (pageIndex != 1)
            {
                st = TempData["st"] == null ? st : Convert.ToDateTime(TempData["st"]);
                ed = TempData["ed"] == null ? st : Convert.ToDateTime(TempData["ed"]);
            }
            else
            {
                switch (timePeriod)
                {
                case "7":
                    st = DateTime.Now.AddDays(-6);
                    break;

                case "15":
                    st = DateTime.Now.AddDays(-14);
                    break;

                case "30":
                    st = DateTime.Now.AddDays(-29);
                    break;

                case "other":
                    ed = Convert.ToDateTime(end);
                    st = Convert.ToDateTime(start);
                    break;

                default:
                    break;
                }
                TempData["st"] = st;
                TempData["ed"] = ed;
            }

            rModel          = SmsList.GetReviewList(pageIndex, 0, 0, st, ed);
            ViewBag.AllPage = rModel.PageSize / 20 + 1;

            return(View(rModel.Data));
        }
Esempio n. 9
0
        public string GetSmsList(int iPage         = 1, int accId = 0, int priorityType = -99, int sendType = -99, int smsType = -99,
                                 string timePeriod = "7", string start = "", string end = "")
        {
            DateTime st = DateTime.Now.AddDays(-6);
            DateTime ed = DateTime.Now;

            switch (timePeriod)
            {
            case "7":
                st = DateTime.Now.AddDays(-6);
                break;

            case "15":
                st = DateTime.Now.AddDays(-14);
                break;

            case "30":
                st = DateTime.Now.AddDays(-29);
                break;

            case "other":
                ed = Convert.ToDateTime(end);
                st = Convert.ToDateTime(start);
                break;

            default:
                break;
            }


            SmsListModel smsList = SmsList.GetSmsList(iPage, accId, smsType, sendType, priorityType, st, ed);

            smsList.MaxPage = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(smsList.rowCount) / 20));

            return(CommonLib.Helper.JsonSerializeObject(smsList, "yyyy-MM-dd HH:mm"));
        }
Esempio n. 10
0
 /// <summary>
 /// 获取短信审核时效
 /// </summary>
 /// <param name="stDate"></param>
 /// <param name="edDate"></param>
 /// <returns></returns>
 public string GetSmsCheckPerform(DateTime stDate, DateTime edDate)
 {
     return(CommonLib.Helper.JsonSerializeObject(SmsList.GetSmsPerformance(stDate, edDate)));
 }
Esempio n. 11
0
 public string ChangeRanking(string maxName, string minName, int rank)
 {
     return(SmsList.ChangeRanking(maxName, minName, rank));
 }
Esempio n. 12
0
 public string ChangeStatus(string maxName, string minName)
 {
     return(SmsList.ChangeStatus(maxName, minName));
 }
Esempio n. 13
0
 public string DeleteCate(string maxName, string minName)
 {
     return(SmsList.DeleteCate(maxName, minName));
 }
Esempio n. 14
0
 public string UpdateCateName(string maxName, string minName, string updateName)
 {
     return(SmsList.UpdateCateName(maxName, minName, updateName));
 }
Esempio n. 15
0
 public string GetCateList(string type)
 {
     return(SmsList.GetCateList(type));
 }
Esempio n. 16
0
 public string AddCommonSms(string maxCate, string minCate, string smscontent)
 {
     return(SmsList.AddCommonSms(maxCate, minCate, smscontent));
 }
Esempio n. 17
0
        public string GetMinCate(string maxCate)
        {
            List <string> str = SmsList.GetMinCate(maxCate);

            return(CommonLib.Helper.JsonSerializeObject(str, ""));
        }
Esempio n. 18
0
 public string GetContentList(int page, string type, string subType = "")
 {
     return(CommonLib.Helper.JsonSerializeObject(SmsList.GetSmsContent(page, type, subType)));
 }
Esempio n. 19
0
        public SmsServiceSendResult Send(SmsList smsList)
        {
            var result = new SmsServiceSendResult();
            #region Application Validation
            if (AppSettings.UserName != smsList.Username || AppSettings.Password != smsList.Password)
            {
                result.Status = SmsSendStatus.Error;
                result.StatusMessage = ResultMessage.InvalidApplicationUsernamePassword.ToString();
                return result;
            }
            #endregion
            try
            {
                #region Check Parameter Value
                if (
                            (string.IsNullOrEmpty(smsList.Username) || string.IsNullOrEmpty(smsList.Password)) ||
                            (smsList.DestinationNumbers == null || smsList.DestinationNumbers.Count() == 0 || smsList.DestinationNumbers.Count(x => string.IsNullOrEmpty(x)) > 0) ||
                            (smsList.Messages == null || smsList.Messages.Count() == 0 || smsList.Messages.Count(x => string.IsNullOrEmpty(x)) > 0)
                    )
                {
                    result.Status = SmsSendStatus.Error;
                    result.StatusMessage = ResultMessage.InvalidParameter.ToString();
                    return result;
                }

                if (smsList.DestinationNumbers.Count() > 1 && smsList.Messages.Count() > 1 && smsList.DestinationNumbers.Count() != smsList.Messages.Count())
                {
                    result.Status = SmsSendStatus.Error;
                    result.StatusMessage = ResultMessage.InvalidParameterNumber.ToString();
                    return result;
                }
                #endregion
                #region Check Destination Number
                var destinationNumberStatus = new short[smsList.DestinationNumbers.Count()];
                for (int i = 0; i < smsList.DestinationNumbers.Count(); i++)
                {
                    if (Validation.IsValidMobile(smsList.DestinationNumbers[i]))
                    {
                        destinationNumberStatus[i] = 0;
                        smsList.DestinationNumbers[i] = Validation.SetMobilePattern(smsList.DestinationNumbers[i]);
                    }
                    else
                    {
                        destinationNumberStatus[i] = -1;
                    }
                }

                if (destinationNumberStatus.Any(x => x == -1))
                {
                    result.Status = SmsSendStatus.Error;
                    result.StatusMessage = ResultMessage.InvalidDestinationNumber.ToString();
                    result.DestinationNumberStatus = destinationNumberStatus;
                    return result;
                }
                #endregion
                var sourceTel = "sourceTel";
                if (smsList.DestinationNumbers.Count() == 1)
                {
                    #region Send One SMS
                    result = _smsService.Send(sourceTel, smsList.DestinationNumbers, smsList.Messages);
                    result.DestinationNumberStatus = destinationNumberStatus;
                    #endregion
                }
                else if (smsList.DestinationNumbers.Count() > 1 && smsList.Messages.Count() == 1)
                {
                    #region Send Many SMS With One Message
                    var message = new string[smsList.DestinationNumbers.Count()];
                    for (int i = 0; i < smsList.DestinationNumbers.Count(); i++)
                        message[i] = smsList.Messages[0];
                    smsList.Messages = message;
                    result = _smsService.Send(sourceTel, smsList.DestinationNumbers, message);
                    result.DestinationNumberStatus = destinationNumberStatus;
                    #endregion
                }
                else if (smsList.DestinationNumbers.Count() > 1 && smsList.Messages.Count() > 1)
                {
                    #region Send Many SMS With Many Message
                    result = _smsService.Send(sourceTel, smsList.DestinationNumbers, smsList.Messages);
                    result.DestinationNumberStatus = destinationNumberStatus;
                    #endregion
                }
                return result;
            }
            catch (Exception ex)
            {
                result.Status = SmsSendStatus.Error;
                result.StatusMessage = ex.Message;
                return result;
            }
        }
Esempio n. 20
0
 public string AddCate(string addCate)
 {
     return(SmsList.AddCate(addCate));
 }
Esempio n. 21
0
 public string DeleteCommonSms(int id)
 {
     return(SmsList.DeleteSms(id));
 }