Exemplo n.º 1
0
        private void mnuDelete_Click(object sender, EventArgs e)
        {
            if (dataGridView.Rows.Count == 0 || lastID < 1)
            {
                return;
            }

            SendSetting setting = SendSettingHelper.SelectByID(1);

            if (setting.IsNull() || setting.TemplateID.IsNull())
            {
                return;
            }

            if (setting.TemplateID == lastID && !this.checkBoxStatus.Checked)
            {
                MessageBox.Show("发送邮件设置使用了此模板,该模板不能删除", "系统提示");
                return;
            }

            if (MessageBox.Show("是否删除此邮件模板?", " 系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
            {
                HtmlTemplateHelper.DeleteByID(lastID);
                HtmlTemplateHelper.ClearCacheAll();
                dataGridView.Rows.RemoveAt(currentIndex);
                getRowData();
            }
            tabControl1.SelectedTab = tabControl1.TabPages[0];
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置修改记录
        /// </summary>
        /// <param name="sendSetting">设置实体类</param>
        /// <param name="where">修改时附加条件,统一的前面要加链接符(and、or等等)</param>
        /// <param name="delCache">修改成功后清理的CACHE key,支持正则</param>
        /// <param name="dbkey">存在数据库连接池中的连接key,为空时使用ConnString连接</param>
        /// <returns>修改是否成功</returns>
        public static bool Update(SendSetting sendSetting, string dbkey = "", Where where = null, string[] delCache = null)
        {
            if (sendSetting.SettingID.IsNull())
            {
                return(false);
            }
            int value = new SQL().Database(dbkey).Update(SendSetting._)
                        .SetP(SendSetting._TemplateID, sendSetting.TemplateID)
                        .SetP(SendSetting._ConnectType, sendSetting.ConnectType)
                        .SetP(SendSetting._SendInterval, sendSetting.SendInterval)
                        .SetP(SendSetting._IPInterval, sendSetting.IPInterval)
                        .SetP(SendSetting._SmtpInterval, sendSetting.SmtpInterval)
                        .SetP(SendSetting._DeleteInterval, sendSetting.DeleteInterval)
                        .SetP(SendSetting._MaxRetryCount, sendSetting.MaxRetryCount)
                        .SetP(SendSetting._SendRetryCount, sendSetting.SendRetryCount)
                        .SetP(SendSetting._Status, sendSetting.Status)
                        .Where(new Where()
                               .AndP(SendSetting._SettingID, sendSetting.SettingID, Operator.Equal, true)
                               ).Where(where).ToExec();

            if (value <= 0)
            {
                return(false);
            }
            if (delCache.IsNull())
            {
                return(true);
            }
            Cache2.Remove("TH.Mailer.SendSettingCache_", delCache);
            return(true);
        }
Exemplo n.º 3
0
 private void settingToolStripMenuItem_Click(object sender, EventArgs e)
 {
     //
     if (null != treeViewFavorite.SelectedNode)
     {
         if (1 == treeViewFavorite.SelectedNode.Level)
         {
             SendSetting st = (SendSetting)treeViewFavorite.SelectedNode.Tag;
             if (null != st)
             {
                 MessageBox.Show(st.TimerInterval.ToString());
             }
             else
             {
                 MessageBox.Show("st is null");
             }
         }
         else
         {
             MessageBox.Show(treeViewFavorite.SelectedNode.Level.ToString());
         }
     }
     else
     {
         MessageBox.Show("null");
     }
 }
Exemplo n.º 4
0
        private void mnuEdit_Click(object sender, EventArgs e)
        {
            SendSetting setting = SendSettingHelper.SelectByID(1);

            if (setting.IsNull() || setting.TemplateID.IsNull())
            {
                return;
            }

            if (setting.TemplateID == lastID && !this.checkBoxStatus.Checked)
            {
                MessageBox.Show("发送邮件设置使用了此模板,该模板不能不可用", "系统提示");
                return;
            }

            tabControl1.SelectedTab = tabControl1.TabPages[0];
            if (currentIndex < 0 || lastID < 1)
            {
                return;
            }
            HtmlTemplate info = new HtmlTemplate();

            info.Subject    = this.txtSubject.Text;
            info.Body       = this.txtBody.Text;
            info.IsHTML     = this.checkBoxIsHTML.Checked ? true : false;
            info.Status     = this.checkBoxStatus.Checked ? 0 : 1;
            info.ShowName   = this.txtShowName.Text;
            info.TemplateID = lastID;
            HtmlTemplateHelper.Update(info);
            dataGridView.Rows[currentIndex].Cells[1].Value = info.Subject;
            HtmlTemplateHelper.ClearCacheAll();
            MessageBox.Show("保存成功", "系统提示");
        }
Exemplo n.º 5
0
 /// <summary>
 /// 清理缓存
 /// </summary>
 private void clear()
 {
     SmtpListHelper.ClearCacheAll(); smtpList         = null;
     EmailListHelper.ClearCacheAll(); emailList       = null;
     SendSettingHelper.ClearCacheAll(); sendSetting   = null;
     HtmlTemplateHelper.ClearCacheAll(); templateList = null;
     IpHistoryHelper.ClearCacheAll();
 }
Exemplo n.º 6
0
        private void UpdateSendSettingStatus(int status)
        {
            SendSetting setting = new SendSetting();

            setting.SettingID = sendSetting.SettingID;
            setting.Status    = status;
            SendSettingHelper.Update(setting);
        }
Exemplo n.º 7
0
        private void mnuEdit_Click(object sender, EventArgs e)
        {
            if (this.cboTemplate.SelectedIndex < 0)
            {
                MessageBox.Show("发送主题为空,保存失败", "系统提示");
                return;
            }
            SendSetting info = new SendSetting();

            info.TemplateID     = (long)this.cboTemplate.SelectedValue;
            info.ConnectType    = rdoRoute.Checked ? 0 : rdoModel.Checked ? 1 : 2;
            info.IPInterval     = txtIPInterval.Text == "0" ? 0 : txtIPInterval.Text.ToInt(1000);
            info.SendInterval   = txtSendInterval.Text.ToInt(10);
            info.SmtpInterval   = txtSmtpInterval.Text == "0" ? 0 : txtSmtpInterval.Text.ToInt(20);
            info.Status         = this.cboStatus.SelectedValue.ToString().ToInt(0);
            info.MaxRetryCount  = txtMaxRetryCount.Text.ToInt(10);
            info.SendRetryCount = txtSendRetryCount.Text.ToInt(10);
            info.DeleteInterval = txtDeleteInterval.Text.ToInt(60);

            if (sendSetting.IsNull() || sendSetting.SettingID.IsNull())
            {
                info.SettingID = 1;
                SendSettingHelper.Insert(info);
            }
            else
            {
                info.SettingID = sendSetting.SettingID;
                SendSettingHelper.Update(info);
            }
            SendSettingHelper.ClearCacheAll();

            if (info.Status == 0 && (int)cboStatus.Tag != info.Status)
            {
                new SQL()
                .Update(EmailList._)
                .Set("LastSendStatus", 0)
                .Set("LastSendError", "")
                .Set("LastSendTime", null, true)
                .Set("LastSendSmtp", "")
                .Set("SendCount", 0)
                .ToExec();

                new SQL().Update(SmtpList._)
                .Set("Sends", 0)
                .Set("SendFails", 0)
                .ToExec();

                new SQL().Delete(IpHistory._)
                .ToExec();
            }

            MessageBox.Show("保存数据成功!", " 系统提示");
            this.Close();
        }
Exemplo n.º 8
0
 private void tsbtShuffle_Click(object sender, EventArgs e)
 {
     if (null != treeViewFavorite.SelectedNode && treeViewFavorite.SelectedNode.ImageIndex == (Int32)NODE_TYPE.NODE_FAVORITE_TYPE)
     {
         SendSetting st = (SendSetting)treeViewFavorite.SelectedNode.Tag;
         if (null != st)
         {
             st.ShuffleEnabled = tsbtShuffle.Checked;
         }
     }
 }
Exemplo n.º 9
0
        private void frmSendSetting_Activated(object sender, EventArgs e)
        {
            frmMain.Instance.ShowStatusText("正在数据....");
            HtmlTemplateHelper.ClearCacheAll();
            cboTemplate.DataSource    = null;;
            cboTemplate.ValueMember   = "TemplateID";
            cboTemplate.DisplayMember = "Subject";
            cboTemplate.DataSource    = HtmlTemplateHelper.SelectListByAll().Where(p => p.Status == 0).OrderByDescending(p => p.TemplateID).Select(p => new { p.TemplateID, p.Subject }).ToDataTable();

            DataTable dt = new DataTable()
                           .AddColumn <int>("id")
                           .AddColumn <string>("name")
                           .AddRow(0, "等待发送")
                           .AddRow(1, "正在发送")
                           .AddRow(2, "已发送完成");

            this.cboStatus.DataSource    = dt;
            this.cboStatus.DisplayMember = "name";
            this.cboStatus.ValueMember   = "id";
            this.cboStatus.SelectedIndex = 0;

            sendSetting = SendSettingHelper.SelectByID(1);
            if (sendSetting.IsNull() || sendSetting.SettingID.IsNull())
            {
                return;
            }

            cboTemplate.SelectedValue = sendSetting.TemplateID;
            if (sendSetting.ConnectType == 0)
            {
                rdoRoute.Checked = true;
            }
            if (sendSetting.ConnectType == 1)
            {
                rdoModel.Checked = true;
            }
            if (sendSetting.ConnectType == 2)
            {
                rdoTY.Checked = true;
            }
            txtIPInterval.Text      = sendSetting.IPInterval.ToString();
            txtSendInterval.Text    = sendSetting.SendInterval.ToString();
            txtSmtpInterval.Text    = sendSetting.SmtpInterval.ToString();
            txtMaxRetryCount.Text   = sendSetting.MaxRetryCount.ToString();
            txtDeleteInterval.Text  = sendSetting.DeleteInterval.ToString();
            txtSendRetryCount.Text  = sendSetting.SendRetryCount.ToString();
            cboStatus.SelectedValue = sendSetting.Status;
            cboStatus.Tag           = sendSetting.Status.Value;
            frmMain.Instance.ShowStatusText("数据加载完成!");
        }
Exemplo n.º 10
0
        /// <summary>
        /// 开始群发邮件
        /// </summary>
        /// <param name="msg">通知消息</param>
        /// <param name="done">完成执行</param>
        public void Start(Action <string> msg = null, Pub.Class.Action done = null)
        {
            exit   = false;
            uiMsg  = msg; uiDone = done;
            thread = new Thread(() => {
                smtpList     = SmtpListHelper.SelectListByAll();
                sendSetting  = SendSettingHelper.SelectByID(1);
                templateList = HtmlTemplateHelper.SelectListByAll().Where(p => p.Status == 0).ToList();

                sendStart();
            });
            thread.IsBackground = true;
            thread.Start();
        }
Exemplo n.º 11
0
        private void UpdateCmdGroupNodeTimerState()
        {
            if (treeViewFavorite.SelectedNode.ImageIndex == (Int32)NODE_TYPE.NODE_FAVORITE_TYPE)
            {
                SendSetting st = (SendSetting)treeViewFavorite.SelectedNode.Tag;
                if (null != st)
                {
                    tstbTimerInterval.Text    = st.TimerInterval.ToString();
                    tstbTimerInterval.Enabled = !st.GetTimerStartState();
                    tsbtTimer.Checked         = st.GetTimerStartState();

                    tsbtLoop.Checked    = st.LoopEnabled;
                    tsbtShuffle.Checked = st.ShuffleEnabled;
                }
            }
        }
Exemplo n.º 12
0
        private TreeNode CreateCmdGroupTreeNode(TreeNode pNode, int location)
        {
            TreeNode group = null;

            if (null != pNode)
            {
                group = new TreeNode("Group");
                SendSetting st = new SendSetting(this, group);

                group.ToolTipText        = "Right Click To Send Selections";
                group.Tag                = st;
                group.ImageIndex         = (Int32)NODE_TYPE.NODE_FAVORITE_TYPE;
                group.SelectedImageIndex = group.ImageIndex;

                pNode.Nodes.Insert(location, group);
            }

            return(group);
        }
Exemplo n.º 13
0
        private void tsbtTimer_Click(object sender, EventArgs e)
        {
            tstbTimerInterval.Enabled = !tsbtTimer.Checked;
            int time = -1;

            if (null != treeViewFavorite.SelectedNode && treeViewFavorite.SelectedNode.ImageIndex == (Int32)NODE_TYPE.NODE_FAVORITE_TYPE)
            {
                SendSetting st = (SendSetting)treeViewFavorite.SelectedNode.Tag;
                if (null != st)
                {
                    if (int.TryParse(tstbTimerInterval.Text, out time))
                    {
                        st.TimerInterval = time;
                    }

                    if (tsbtTimer.Checked)
                    {
                        //st.StartTimer();
                        st.StartBGWorker();
                    }
                    else
                    {
                        //st.StopTimer();
                        st.CancelBGWorker();
                    }
                }
            }

            if (null != treeViewFavorite.SelectedNode && 1 == treeViewFavorite.SelectedNode.Level)
            {
                SendSetting st = (SendSetting)treeViewFavorite.SelectedNode.Tag;
                if (null != st)
                {
                    if (int.TryParse(tstbTimerInterval.Text, out time))
                    {
                        st.TimerInterval = time;
                    }
                }
            }
        }
Exemplo n.º 14
0
        public static void Config(bool exit = false)
        {
            WriteLog("config(c) 显示发送配置");
            WriteLog("===============================================================================");
            SendSetting          sendSetting  = SendSettingHelper.SelectByID(1);
            IList <HtmlTemplate> templateList = HtmlTemplateHelper.SelectListByAll();

            WriteLog("邮件模版:{0}", templateList.Where(p => p.TemplateID == sendSetting.TemplateID).FirstOrDefault().IfNull(new HtmlTemplate()).Subject ?? "无");
            WriteLog("网络连接类型:{0}", NetHelper.GetNetName(sendSetting.ConnectType.Value));
            WriteLog("发送邮件时间间隔(毫秒):{0}", sendSetting.SendInterval);
            WriteLog("发送多少封邮件后更换IP:{0}", sendSetting.IPInterval == 0 ? "0不更换IP" : sendSetting.IPInterval.ToString());
            WriteLog("发送多少封邮件后更换SMTP:{0}", sendSetting.SmtpInterval == 0 ? "0不更换SMTP" : sendSetting.SmtpInterval.ToString());
            WriteLog("清理多少分钟之前的历史IP:{0}", sendSetting.DeleteInterval);
            WriteLog("检测网络连接重试次数:{0}", sendSetting.MaxRetryCount);
            WriteLog("发送邮件失败重试次数:{0}", sendSetting.SendRetryCount);
            WriteLog("发送状态:{0}", sendSetting.Status == 0 ? "等待发送" : sendSetting.Status == 1 ? "正在发送" : "已发送完成");
            WriteLog("-------------------------------------------------------------------------------");
            WriteLog("可用邮箱数量:{0}".FormatWith(new SQL().From(EmailList._).Count(EmailList._EmailAddress).ToScalar().ToString()));
            WriteLog("可用SMTP数量:{0}".FormatWith(new SQL().From(SmtpList._).Count(SmtpList._SmtpServer).ToScalar().ToString()));
            WriteLog("END");
            Input(exit);
        }
Exemplo n.º 15
0
        /// <summary>
        /// 设置添加记录
        /// </summary>
        /// <param name="sendSetting">设置实体类</param>
        /// <param name="delCache">添加成功后清理的CACHE key,支持正则</param>
        /// <param name="dbkey">存在数据库连接池中的连接key,为空时使用ConnString连接</param>
        /// <returns>添加是否成功</returns>
        public static bool Insert(SendSetting sendSetting, string dbkey = "", string[] delCache = null)
        {
            int obj = new SQL().Database(dbkey).Insert(SendSetting._)
                      .ValueP(SendSetting._SettingID, sendSetting.SettingID)
                      .ValueP(SendSetting._TemplateID, sendSetting.TemplateID)
                      .ValueP(SendSetting._ConnectType, sendSetting.ConnectType)
                      .ValueP(SendSetting._SendInterval, sendSetting.SendInterval)
                      .ValueP(SendSetting._IPInterval, sendSetting.IPInterval)
                      .ValueP(SendSetting._SmtpInterval, sendSetting.SmtpInterval)
                      .ValueP(SendSetting._DeleteInterval, sendSetting.DeleteInterval)
                      .ValueP(SendSetting._MaxRetryCount, sendSetting.MaxRetryCount)
                      .ValueP(SendSetting._SendRetryCount, sendSetting.SendRetryCount)
                      .ValueP(SendSetting._Status, sendSetting.Status)
                      .ToExec();

            if (delCache.IsNull())
            {
                return(obj == 1);
            }
            Cache2.Remove("TH.Mailer.SendSettingCache_", delCache);
            return(obj == 1);
        }
Exemplo n.º 16
0
 private void tsbtReset_Click(object sender, EventArgs e)
 {
     //
     foreach (TreeNode root in treeViewFavorite.Nodes)
     {
         foreach (TreeNode node in root.Nodes)
         {
             if (node.ImageIndex == (Int32)NODE_TYPE.NODE_FAVORITE_TYPE)
             {
                 SendSetting st = (SendSetting)node.Tag;
                 if (null != st)
                 {
                     st.LoopEnabled    = false;
                     st.ShuffleEnabled = false;
                     st.StartEnabled   = false;
                 }
             }
         }
     }
     tsbtLoop.Checked    = false;
     tsbtShuffle.Checked = false;
     tsbtTimer.Checked   = false;
     tsbtTimer.Enabled   = true;
 }
Exemplo n.º 17
0
        private static async Task <ActionResponse> Send(Kooboo.Mail.Smtp.SmtpClient client, string mailFrom, string rcptTo, string content, SendSetting setting)
        {
            var reply = await client.CheckServiceReady();

            if (!reply.Ok)
            {
                client.Release();
                return(new ActionResponse()
                {
                    Success = false, ShouldRetry = true, Message = reply.Reply
                });
            }

            reply = await client.Helo(setting.HostName);

            if (!reply.Ok)
            {
                client.Release();
                return(new ActionResponse()
                {
                    Success = false, ShouldRetry = true, Message = reply.Reply
                });
            }

            reply = await client.MailFrom(mailFrom);

            if (!reply.Ok)
            {
                client.Release();
                return(new ActionResponse()
                {
                    Success = false, ShouldRetry = false, Message = reply.Reply
                });
            }

            reply = await client.RcptTo(rcptTo);

            if (!reply.Ok)
            {
                client.Release();
                return(new ActionResponse()
                {
                    Success = false, ShouldRetry = false, Message = reply.Reply
                });
            }

            reply = await client.Data(content);

            if (!reply.Ok)
            {
                client.Release();

                return(new ActionResponse()
                {
                    Success = false, ShouldRetry = false, Message = reply.Reply
                });
            }


            await client.Quit();

            return(new ActionResponse()
            {
                Success = true
            });
        }
Exemplo n.º 18
0
        /// <summary>
        /// 更换IP
        /// </summary>
        /// <param name="netType">0表示路由 1表示拨号连接</param>
        /// <param name="msg">通知输出消息</param>
        /// <param name="done">完成时执行</param>
        /// <param name="index">第几次执行</param>
        /// <returns></returns>
        public static string ChangeIP(int netType, Action <string> msg = null, Pub.Class.Action done = null, int index = 0)
        {
            string name = GetNetName(netType);

            setting = SendSettingHelper.SelectByID(1);

            if (setting.IsNull())
            {
                if (!msg.IsNull())
                {
                    msg("请修改发送设置!");
                }
                if (!done.IsNull())
                {
                    done();
                }
                return("");
            }
            else
            {
                if (index == setting.MaxRetryCount)
                {
                    if (!done.IsNull())
                    {
                        done();
                    }
                    return("");
                }
                if (!msg.IsNull())
                {
                    msg((index + 1).ToString());
                }

                //清空多少分钟前的历史IP
                if (Data.Pool("ConnString").DBType == "SqlServer")
                {
                    "delete from IpHistory where CreateTime < DateAdd(MINUTE , -{0}, getdate())".FormatWith(setting.DeleteInterval).ToSQL().ToExec();
                }
                else if (Data.Pool("ConnString").DBType == "SQLite" || Data.Pool("ConnString").DBType == "MonoSQLite")
                {
                    "delete from IpHistory where datetime(CreateTime) < datetime('now','localtime', '-{0} minute')".FormatWith(setting.DeleteInterval).ToSQL().ToExec();
                }
                if (!msg.IsNull())
                {
                    msg("正在重启" + name + "......");
                }
                IController connect;
                switch (netType)
                {
                case 1: connect = new ModelController(); break;

                case 2: connect = new TianYiController(); break;

                default: connect = new RouteController(); break;
                }
                string error = connect.Reset();
                if (!error.IsNullEmpty())
                {
                    if (!msg.IsNull())
                    {
                        msg("重启" + name + "失败:" + error);
                    }
                    return(ChangeIP(netType, msg, done, index + 1));
                }
                else
                {
                    if (!msg.IsNull())
                    {
                        msg("已重启" + name + ",正在检测是否联网......");
                    }
                    bool isTrue = NetHelper.CheckNetwork(msg);
                    if (!isTrue)
                    {
                        return(ChangeIP(netType, msg, done, index + 1));
                    }

                    if (!msg.IsNull())
                    {
                        msg("已联接网络,正在获取IP......");
                    }
                    string ip = IPHelper.GetIpFast();

                    if (!msg.IsNull())
                    {
                        msg("获取到IP:" + ip);
                    }
                    if (IpHistoryHelper.IsExistByID(ip))
                    {
                        if (!msg.IsNull())
                        {
                            msg("检测到IP:" + ip + "最近已使用!");
                        }
                        return(ChangeIP(netType, msg, done, index + 1));
                    }
                    else
                    {
                        IpHistoryHelper.Insert(new IpHistory()
                        {
                            IP = ip, CreateTime = DateTime.Now.ToDateTime().ToDateTime()
                        });
                    };
                    return(ip);
                }
            }
        }
Exemplo n.º 19
0
        public static async Task <SendSetting> GetSendSetting(Data.Models.ServerSetting serverSetting, bool IsOnlineServer, string MailFrom, string RcptTo)
        {
            SendSetting setting = new SendSetting();

            if (IsOnlineServer)
            {
                if (HasDefineMta)
                {
                    setting.UseKooboo      = true;
                    setting.KoobooServerIp = Mta;
                    setting.Port           = MtaPort;
                    setting.HostName       = System.Net.Dns.GetHostName();
                    setting.LocalIp        = System.Net.IPAddress.Any;
                    setting.OkToSend       = true;
                }

                else if (!string.IsNullOrEmpty(serverSetting.SmtpServerIP))
                {
                    setting.UseKooboo      = true;
                    setting.KoobooServerIp = serverSetting.SmtpServerIP;
                    setting.Port           = serverSetting.SmtpPort;
                    if (setting.Port <= 0)
                    {
                        setting.Port = 587;
                    }
                    setting.HostName = System.Net.Dns.GetHostName();
                    setting.LocalIp  = System.Net.IPAddress.Any;
                    setting.OkToSend = true;
                }
                else
                {
                    setting.OkToSend     = false;
                    setting.ErrorMessage = "Email Sending is prevented";
                }
            }
            else
            {
                var mxs = await Kooboo.Mail.Utility.SmtpUtility.GetMxRecords(RcptTo);

                if (mxs == null || mxs.Count() == 0)
                {
                    setting.OkToSend     = false;
                    setting.ErrorMessage = "Mx records not found";
                }
                else
                {
                    setting.OkToSend = true;
                    setting.Mxs      = mxs;

                    if (serverSetting.ReverseDns != null && serverSetting.ReverseDns.Count() > 0)
                    {
                        var dns = serverSetting.ReverseDns[0];  //TODO: random it.
                        setting.LocalIp  = System.Net.IPAddress.Parse(dns.IP);
                        setting.HostName = dns.HostName;
                    }
                    else
                    {
                        setting.LocalIp  = System.Net.IPAddress.Any;
                        setting.HostName = System.Net.Dns.GetHostName();
                    }
                }
            }
            return(setting);
        }
Exemplo n.º 20
0
 /// <summary>
 /// 设置添加记录
 /// </summary>
 /// <param name="sendSetting">设置实体类</param>
 /// <returns>添加是否成功</returns>
 public static bool Insert(SendSetting sendSetting, string dbkey)
 {
     return(Insert(sendSetting, dbkey, null));
 }
Exemplo n.º 21
0
 /// <summary>
 /// 设置修改多条记录
 /// </summary>
 /// <param name="settingIDList">设置编号列表,用“,”号分隔</param>
 /// <param name="sendSetting">设置实体类</param>
 /// <returns>修改是否成功</returns>
 public static bool UpdateByIDList(IEnumerable <int> settingIDList, SendSetting sendSetting, string dbkey)
 {
     return(UpdateByIDList(settingIDList, sendSetting, dbkey, null, null));
 }
Exemplo n.º 22
0
 /// <summary>
 /// 设置修改记录
 /// </summary>
 /// <param name="sendSetting">设置实体类</param>
 /// <returns>修改是否成功</returns>
 public static bool Update(SendSetting sendSetting, string dbkey)
 {
     return(Update(sendSetting, dbkey, null, null));
 }