コード例 #1
0
        public ActionResult Add(Msg_MessageStrategy model)
        {
            Result <int>     result = new Result <int>();
            ResultView <int> view   = new ResultView <int>();

            if (Request.Form["IsEnable"] == EnumState.Enable.ToString())
            {
                model.IsEnable = true;
            }
            else
            {
                model.IsEnable = false;
            }
            if (Request.Form["IsConfirm"] == EnumState.Confirmed.ToString())
            {
                model.IsConfirm = true;
            }
            else
            {
                model.IsConfirm = false;
            }
            using (MessageClientProxy proxy = new MessageClientProxy(ProxyEx(Request)))
            {
                result = proxy.AddStrategy(model);
                view   = result.ToResultView();
            }
            return(Json(view));
        }
コード例 #2
0
ファイル: MessageHelper.cs プロジェクト: wwkkww1983/ShanxiEPM
        /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="model"></param>
        /// <param name="setting"></param>
        /// <param name="strategy"></param>
        public static async void SendSMSAsync(Msg_SMS model, Msg_SMSSetting setting, Msg_MessageStrategy strategy)
        {
            await Task.Run(() =>
            {
                Result <int> result = null;
                //阿里大鱼
                result = UtilitySendMessage.SendMessageByAlidayuSms(setting.URL,
                                                                    setting.AppKey, setting.AppSecret, ConstString.SMSFORMAT, ConstString.SMSTYPE,
                                                                    model.SignName, model.Params, model.ReceivePhone, model.ServerNo);
                //以下为回调
                //更新状态
                model.SendCount += 1;
                model.State      = result.Data == 1;
                //超出重发次数
                if (model.SendCount > strategy.ResendStra)
                {
                    model.State = true;
                }
                model.SenderTime = DateTime.Now;

                //执行更新
                MsgDataContext db = new MsgDataContext();
                var entry         = db.Entry(model);
                db.Entry <Msg_SMS>(model).State = EntityState.Modified;
                db.SaveChanges();
            });
        }
コード例 #3
0
ファイル: MessageTimer.cs プロジェクト: wwkkww1983/ShanxiEPM
        /// <summary>
        /// 获取消息发送策略
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public Msg_MessageStrategy GetStrategy(MessageType type)
        {
            MsgDataContext      db    = new MsgDataContext();
            Msg_MessageStrategy model = null;

            var list = db.Msg_MessageStrategy.ToList();

            model = list.FirstOrDefault(i => i.IsConfirm && i.IsEnable && i.Type == type.ToString());
            return(model);
        }
コード例 #4
0
        /// <summary>
        /// 修改消息发送策略
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <int> UpdateStrategy(Msg_MessageStrategy model)
        {
            Result <int> result = new Result <int>();

            try
            {
                var rows = DataOperateMsg <Msg_MessageStrategy> .Get().Update(model);

                result.Data = rows;
                result.Flag = EResultFlag.Success;
                WriteLog(AdminModule.MessageStrategy.GetText(), SystemRight.Add.GetText(), "修改消息发送策略:" + model.Id);
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "UpdateStrategy");
            }
            return(result);
        }
コード例 #5
0
 /// <summary>
 /// 添加消息发送策略
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public Result <int> AddStrategy(Msg_MessageStrategy model)
 {
     return(base.Channel.AddStrategy(model));
 }
コード例 #6
0
ファイル: MessageHelper.cs プロジェクト: wwkkww1983/ShanxiEPM
 /// <summary>
 /// 发送邮件
 /// </summary>
 /// <param name="model"></param>
 /// <param name="setting"></param>
 /// <param name="strategy"></param>
 /// <param name="displayName"></param>
 public static async void SendEmailAsync(Msg_Email model, Msg_EmailSetting setting, Msg_MessageStrategy strategy, string displayName = "")
 {
     await Task.Run(() =>
     {
         Result <bool> result = null;
         result = EmailHelper.SendEmail(model.Title, model.EmailCon, model.ReceiveEmaile, setting.MailProtocol, setting.UserName, setting.PassWord, displayName);
         //以下为回调
         //更新状态
         model.SendCount += 1;
         model.State      = result.Data;
         //超出重发次数
         if (model.SendCount > strategy.ResendStra)
         {
             model.State = true;
         }
         model.SenderTime = DateTime.Now;
         //执行更新
         MsgDataContext db = new MsgDataContext();
         var entry         = db.Entry(model);
         db.Entry <Msg_Email>(model).State = EntityState.Modified;
         db.SaveChanges();
     });
 }