Esempio n. 1
0
        private bool DoEdit(int _id)
        {
            bool result = false;

            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();
            Model.weixin_request_rule model = bll.GetModel(_id);

            model.account_id    = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();

            ls.Add(new Model.weixin_request_content()
            {
                account_id = model.account_id, rule_id = model.id, content = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信文本回复,关健字:" + model.keywords); //记录日志
                result = true;
            }
            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.weixin_request_rule GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder();

            Model.weixin_request_rule model = new Model.weixin_request_rule();
            //利用反射获得属性的所有公共属性
            PropertyInfo[] pros = model.GetType().GetProperties();
            foreach (PropertyInfo p in pros)
            {
                //拼接字段,忽略List<T>
                if (!p.Name.Equals("values") && !p.Name.Equals("contents"))
                {
                    str1.Append(p.Name + ",");
                }
            }
            strSql.Append("select top 1 " + str1.ToString().Trim(','));
            strSql.Append(" from " + databaseprefix + "weixin_request_rule");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@id", SqlDbType.Int, 4)
            };
            parameters[0].Value = id;
            DataTable dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];

            if (dt.Rows.Count > 0)
            {
                return(DataRowToModel(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 3
0
        private bool DoAdd(out string errmsg)
        {
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();

            model.name          = "语音回复";
            model.request_type  = 1;
            model.response_type = 3;
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
            //上传素材到微信服务器
            string mediaId = new API.Weixin.Common.CRMComm().UploadForeverMedia(Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg);

            if (!string.IsNullOrEmpty(errmsg))
            {
                return(false);
            }
            ls.Add(new Model.weixin_request_content()
            {
                account_id = model.account_id, title = txtTitle.Text.Trim(), img_url = txtImgUrl.Text.Trim(),
                media_id   = mediaId, media_url = txtMediaUrl.Text.Trim(), meida_hd_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信语音回复,关健字:" + model.keywords); //记录日志
                errmsg = string.Empty;
                return(true);
            }
            errmsg = "保存过程中出错!";
            return(false);
        }
Esempio n. 4
0
        private bool DoAdd()
        {
            bool result = false;

            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();

            model.name          = "文本回复";
            model.request_type  = 1;
            model.response_type = 1;
            model.account_id    = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();

            ls.Add(new Model.weixin_request_content()
            {
                account_id = model.account_id, content = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信文本回复,关健字:" + model.keywords); //记录日志
                result = true;
            }
            return(result);
        }
Esempio n. 5
0
        private bool DoAdd()
        {
            bool result = false;

            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();

            model.name          = "图文回复";
            model.request_type  = 1; //关键词回复
            model.response_type = 2; //回复的类型:文本1,图文2,语音3,视频4,第三方接口5
            model.account_id    = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);

            #region 赋值规则图片
            string[] itemIdArr      = Request.Form.GetValues("item_id");
            string[] itemTitleArr   = Request.Form.GetValues("item_title");
            string[] itemContentArr = Request.Form.GetValues("item_content");
            string[] itemImgUrlArr  = Request.Form.GetValues("item_imgurl");
            string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl");
            string[] itemSortIdArr  = Request.Form.GetValues("item_sortid");
            if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null)
            {
                if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) &&
                    (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length))
                {
                    List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
                    for (int i = 0; i < itemIdArr.Length; i++)
                    {
                        Model.weixin_request_content modelt = new Model.weixin_request_content();
                        modelt.id         = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                        modelt.account_id = model.account_id;
                        modelt.title      = itemTitleArr[i].Trim();
                        modelt.content    = itemContentArr[i].Trim();
                        modelt.img_url    = itemImgUrlArr[i].Trim();
                        modelt.link_url   = itemLinkUrlArr[i].Trim();
                        modelt.sort_id    = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                        ls.Add(modelt);
                    }
                    model.contents = ls;
                }
            }
            else
            {
                model.contents = null;
            }
            #endregion

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信图文回复,关健字:" + model.keywords); //记录日志
                result = true;
            }
            return(result);
        }
Esempio n. 6
0
        private void ShowInfo(int _id)
        {
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();
            Model.weixin_request_rule model = bll.GetModel(_id);

            txtKeywords.Text             = model.keywords;
            rblIsLikeQuery.SelectedValue = model.is_like_query.ToString();
            txtSortId.Text  = model.sort_id.ToString();
            txtContent.Text = model.contents[0].content;
        }
Esempio n. 7
0
        private bool DoAdd()
        {
            bool result = false;
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule bll = new BLL.weixin_request_rule();

            model.name = "图文回复";
            model.request_type = 1; //关键词回复
            model.response_type = 2; //回复的类型:文本1,图文2,语音3,视频4,第三方接口5
            model.account_id = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id = Utils.StrToInt(txtSortId.Text.Trim(), 99);

            #region 赋值规则图片
            string[] itemIdArr = Request.Form.GetValues("item_id");
            string[] itemTitleArr = Request.Form.GetValues("item_title");
            string[] itemContentArr = Request.Form.GetValues("item_content");
            string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl");
            string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl");
            string[] itemSortIdArr = Request.Form.GetValues("item_sortid");
            if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null)
            {
                if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length)
                    && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length))
                {
                    List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
                    for (int i = 0; i < itemIdArr.Length; i++)
                    {
                        Model.weixin_request_content modelt = new Model.weixin_request_content();
                        modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                        modelt.account_id = model.account_id;
                        modelt.title = itemTitleArr[i].Trim();
                        modelt.content = itemContentArr[i].Trim();
                        modelt.img_url = itemImgUrlArr[i].Trim();
                        modelt.link_url = itemLinkUrlArr[i].Trim();
                        modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                        ls.Add(modelt);
                    }
                    model.contents = ls;
                }
            }
            else
            {
                model.contents = null;
            }
            #endregion

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信图文回复,关健字:" + model.keywords); //记录日志
                result = true;
            }
            return result;
        }
Esempio n. 8
0
        /// <summary>
        /// 将对象转换实体
        /// </summary>
        public Model.weixin_request_rule DataRowToModel(DataRow row)
        {
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            if (row != null)
            {
                #region 主表信息======================
                //利用反射获得属性的所有公共属性
                Type modelType = model.GetType();
                for (int i = 0; i < row.Table.Columns.Count; i++)
                {
                    //查找实体是否存在列表相同的公共属性
                    PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName);
                    if (proInfo != null && row[i] != DBNull.Value)
                    {
                        proInfo.SetValue(model, row[i], null);//用索引值设置属性值
                    }
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql1 = new StringBuilder();
                strSql1.Append("select * from " + databaseprefix + "weixin_request_content");
                strSql1.Append(" where rule_id=@rule_id");
                SqlParameter[] parameters1 =
                {
                    new SqlParameter("@rule_id", SqlDbType.Int, 4)
                };
                parameters1[0].Value = model.id;
                DataTable dt1 = DbHelperSQL.Query(strSql1.ToString(), parameters1).Tables[0];

                if (dt1.Rows.Count > 0)
                {
                    int rowsCount = dt1.Rows.Count;
                    List <Model.weixin_request_content> models = new List <Model.weixin_request_content>();
                    Model.weixin_request_content        modelt;
                    for (int n = 0; n < rowsCount; n++)
                    {
                        modelt = new Model.weixin_request_content();
                        Type modeltType = modelt.GetType();
                        for (int i = 0; i < dt1.Rows[n].Table.Columns.Count; i++)
                        {
                            PropertyInfo proInfo = modeltType.GetProperty(dt1.Rows[n].Table.Columns[i].ColumnName);
                            if (proInfo != null && dt1.Rows[n][i] != DBNull.Value)
                            {
                                proInfo.SetValue(modelt, dt1.Rows[n][i], null);
                            }
                        }
                        models.Add(modelt);
                    }
                    model.contents = models;
                }
                #endregion
            }
            return(model);
        }
Esempio n. 9
0
        private void ShowInfo(int _id)
        {
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();
            Model.weixin_request_rule model = bll.GetModel(_id);

            ddlAccountId.SelectedValue   = model.account_id.ToString();
            ddlAccountId.Enabled         = false;
            txtKeywords.Text             = model.keywords;
            rblIsLikeQuery.SelectedValue = model.is_like_query.ToString();
            txtSortId.Text = model.sort_id.ToString();

            rptList.DataSource = model.contents;
            rptList.DataBind();
        }
Esempio n. 10
0
        private void ShowInfo(int _id)
        {
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();
            Model.weixin_request_rule model = bll.GetModel(_id);

            ddlAccountId.SelectedValue   = model.account_id.ToString();
            ddlAccountId.Enabled         = false;
            txtSortId.Text               = model.sort_id.ToString();
            txtKeywords.Text             = model.keywords;
            rblIsLikeQuery.SelectedValue = model.is_like_query.ToString();
            txtTitle.Text    = model.contents[0].title;
            txtMediaUrl.Text = model.contents[0].media_url;
            txtContent.Text  = model.contents[0].content;
        }
Esempio n. 11
0
        private bool DoEdit(int _id, out string errmsg)
        {
            API.Weixin.Common.CRMComm wxComm = new API.Weixin.Common.CRMComm();
            BLL.weixin_request_rule   bll    = new BLL.weixin_request_rule();
            Model.weixin_request_rule model  = bll.GetModel(_id);

            model.account_id    = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            //判断是否需要重新上传素材
            string mediaId = model.contents[0].media_id;

            if (model.contents[0].img_url != txtImgUrl.Text.Trim())
            {
                if (!string.IsNullOrEmpty(mediaId))
                {
                    wxComm.DeleteForeverMedia(model.account_id, mediaId, out errmsg);                                       //删除永久素材
                }
                mediaId = wxComm.UploadForeverMedia(model.account_id, Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg); //重新上传素材
            }

            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();

            ls.Add(new Model.weixin_request_content()
            {
                account_id   = model.account_id,
                rule_id      = model.id,
                title        = txtTitle.Text.Trim(),
                img_url      = txtImgUrl.Text.Trim(),
                media_id     = mediaId,
                media_url    = txtMediaUrl.Text.Trim(),
                meida_hd_url = txtMediaUrl.Text.Trim(),
                content      = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信语音回复,关健字:" + model.keywords); //记录日志
                errmsg = string.Empty;
                return(true);
            }
            errmsg = "保存过程中出错!";
            return(false);
        }
Esempio n. 12
0
        private bool DoAdd()
        {
            bool result = false;
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule bll = new BLL.weixin_request_rule();

            model.name = "语音回复";
            model.request_type = 1;
            model.response_type = 3;
            model.account_id = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
            ls.Add(new Model.weixin_request_content() { account_id = model.account_id, title = txtTitle.Text.Trim(), media_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim() });
            model.contents = ls;

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信语音回复,关健字:" + model.keywords); //记录日志
                result = true;
            }
            return result;
        }
Esempio n. 13
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.weixin_request_rule model)
        {
            using (OleDbConnection conn = new OleDbConnection(DbHelperOleDb.connectionString))
            {
                conn.Open();
                using (OleDbTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append("insert into " + databaseprefix + "weixin_request_rule(");
                        strSql.Append("is_default,sort_id,add_time,account_id,[name],keywords,request_type,response_type,is_like_query)");
                        strSql.Append(" values (");
                        strSql.Append("@is_default,@sort_id,@add_time,@account_id,@name,@keywords,@request_type,@response_type,@is_like_query)");
                        OleDbParameter[] parameters =
                        {
                            new OleDbParameter("@is_default",    OleDbType.Integer,    4),
                            new OleDbParameter("@sort_id",       OleDbType.Integer,    4),
                            new OleDbParameter("@add_time",      OleDbType.Date),
                            new OleDbParameter("@account_id",    OleDbType.Integer,    4),
                            new OleDbParameter("@name",          OleDbType.VarChar,  200),
                            new OleDbParameter("@keywords",      OleDbType.VarChar, 2000),
                            new OleDbParameter("@request_type",  OleDbType.Integer,    4),
                            new OleDbParameter("@response_type", OleDbType.Integer,    4),
                            new OleDbParameter("@is_like_query", OleDbType.Integer, 4)
                        };
                        parameters[0].Value = model.is_default;
                        parameters[1].Value = model.sort_id;
                        parameters[2].Value = model.add_time;
                        parameters[3].Value = model.account_id;
                        parameters[4].Value = model.name;
                        parameters[5].Value = model.keywords;
                        parameters[6].Value = model.request_type;
                        parameters[7].Value = model.response_type;
                        parameters[8].Value = model.is_like_query;
                        DbHelperOleDb.ExecuteSql(conn, trans, strSql.ToString(), parameters);
                        //取得新插入的ID
                        model.id = GetMaxId(conn, trans);

                        if (model.contents != null)
                        {
                            StringBuilder strSql2;
                            foreach (Model.weixin_request_content models in model.contents)
                            {
                                strSql2 = new StringBuilder();
                                strSql2.Append("insert into " + databaseprefix + "weixin_request_content(");
                                strSql2.Append("sort_id,add_time,account_id,rule_id,title,content,link_url,img_url,media_url,meida_hd_url)");
                                strSql2.Append(" values (");
                                strSql2.Append("@sort_id,@add_time,@account_id,@rule_id,@title,@content,@link_url,@img_url,@media_url,@meida_hd_url)");
                                OleDbParameter[] parameters2 =
                                {
                                    new OleDbParameter("@sort_id",      OleDbType.Integer,    4),
                                    new OleDbParameter("@add_time",     OleDbType.Date),
                                    new OleDbParameter("@account_id",   OleDbType.Integer,    4),
                                    new OleDbParameter("@rule_id",      OleDbType.Integer,    4),
                                    new OleDbParameter("@title",        OleDbType.VarChar,  500),
                                    new OleDbParameter("@content",      OleDbType.VarChar),
                                    new OleDbParameter("@link_url",     OleDbType.VarChar,  500),
                                    new OleDbParameter("@img_url",      OleDbType.VarChar,  500),
                                    new OleDbParameter("@media_url",    OleDbType.VarChar,  500),
                                    new OleDbParameter("@meida_hd_url", OleDbType.VarChar, 500)
                                };
                                parameters2[0].Value = models.sort_id;
                                parameters2[1].Value = models.add_time;
                                parameters2[2].Value = models.account_id;
                                parameters2[3].Value = model.id; //新插入的规则ID
                                parameters2[4].Value = models.title;
                                parameters2[5].Value = models.content;
                                parameters2[6].Value = models.link_url;
                                parameters2[7].Value = models.img_url;
                                parameters2[8].Value = models.media_url;
                                parameters2[9].Value = models.meida_hd_url;
                                DbHelperOleDb.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                            }
                        }
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        return(-1);
                    }
                }
            }
            return(model.id);
        }
Esempio n. 14
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.weixin_request_rule model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();//打开数据连接
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息==========================
                        StringBuilder strSql = new StringBuilder();
                        StringBuilder str1   = new StringBuilder(); //数据字段
                        StringBuilder str2   = new StringBuilder(); //数据参数
                        //利用反射获得属性的所有公共属性
                        PropertyInfo[]      pros  = model.GetType().GetProperties();
                        List <SqlParameter> paras = new List <SqlParameter>();
                        strSql.Append("insert into " + databaseprefix + "weixin_request_rule(");
                        foreach (PropertyInfo pi in pros)
                        {
                            //如果不是主键或List<T>则追加sql字符串
                            if (!pi.Name.Equals("id") && !pi.Name.Equals("contents"))
                            {
                                //判断属性值是否为空
                                if (pi.GetValue(model, null) != null)
                                {
                                    str1.Append(pi.Name + ",");                                           //拼接字段
                                    str2.Append("@" + pi.Name + ",");                                     //声明参数
                                    paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值
                                }
                            }
                        }
                        strSql.Append(str1.ToString().Trim(','));
                        strSql.Append(") values (");
                        strSql.Append(str2.ToString().Trim(','));
                        strSql.Append(") ");
                        strSql.Append(";select @@IDENTITY;");
                        object obj = DbHelperSQL.GetSingle(conn, trans, strSql.ToString(), paras.ToArray());//带事务
                        model.id = Convert.ToInt32(obj);
                        #endregion

                        #region 规则内容表信息====================
                        if (model.contents != null)
                        {
                            StringBuilder strSql2; //SQL字符串
                            StringBuilder str21;   //数据库字段
                            StringBuilder str22;   //声明参数
                            foreach (Model.weixin_request_content modelt in model.contents)
                            {
                                strSql2 = new StringBuilder();
                                str21   = new StringBuilder();
                                str22   = new StringBuilder();
                                PropertyInfo[]      pros2  = modelt.GetType().GetProperties();
                                List <SqlParameter> paras2 = new List <SqlParameter>();
                                strSql2.Append("insert into " + databaseprefix + "weixin_request_content(");
                                foreach (PropertyInfo pi in pros2)
                                {
                                    if (!pi.Name.Equals("id"))
                                    {
                                        if (pi.GetValue(modelt, null) != null)
                                        {
                                            str21.Append(pi.Name + ",");
                                            str22.Append("@" + pi.Name + ",");
                                            if (pi.Name.Equals("rule_id"))
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, model.id)); //将刚插入的父ID赋值
                                            }
                                            else
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, pi.GetValue(modelt, null)));
                                            }
                                        }
                                    }
                                }
                                strSql2.Append(str21.ToString().Trim(','));
                                strSql2.Append(") values (");
                                strSql2.Append(str22.ToString().Trim(','));
                                strSql2.Append(") ");
                                DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), paras2.ToArray());
                            }
                        }
                        #endregion

                        trans.Commit();//提交事务
                    }
                    catch
                    {
                        trans.Rollback();//回滚事务
                        return(0);
                    }
                }
            }
            return(model.id);
        }
Esempio n. 15
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.weixin_request_rule DataRowToModel(DataRow row)
        {
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            if (row != null)
            {
                #region 主表信息======================
                if (row["id"] != null && row["id"].ToString() != "")
                {
                    model.id = int.Parse(row["id"].ToString());
                }
                if (row["account_id"] != null && row["account_id"].ToString() != "")
                {
                    model.account_id = int.Parse(row["account_id"].ToString());
                }
                if (row["name"] != null)
                {
                    model.name = row["name"].ToString();
                }
                if (row["keywords"] != null)
                {
                    model.keywords = row["keywords"].ToString();
                }
                if (row["request_type"] != null && row["request_type"].ToString() != "")
                {
                    model.request_type = int.Parse(row["request_type"].ToString());
                }
                if (row["response_type"] != null && row["response_type"].ToString() != "")
                {
                    model.response_type = int.Parse(row["response_type"].ToString());
                }
                if (row["is_like_query"] != null && row["is_like_query"].ToString() != "")
                {
                    model.is_like_query = int.Parse(row["is_like_query"].ToString());
                }
                if (row["is_default"] != null && row["is_default"].ToString() != "")
                {
                    model.is_default = int.Parse(row["is_default"].ToString());
                }
                if (row["sort_id"] != null && row["sort_id"].ToString() != "")
                {
                    model.sort_id = int.Parse(row["sort_id"].ToString());
                }
                if (row["add_time"] != null && row["add_time"].ToString() != "")
                {
                    model.add_time = DateTime.Parse(row["add_time"].ToString());
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql2 = new StringBuilder();
                strSql2.Append("select id,account_id,rule_id,title,content,link_url,img_url,media_url,meida_hd_url,sort_id,add_time");
                strSql2.Append(" from " + databaseprefix + "weixin_request_content");
                strSql2.Append(" where rule_id=@rule_id");
                SqlParameter[] parameters2 = {
					new SqlParameter("@rule_id", SqlDbType.Int,4)};
                parameters2[0].Value = model.id;

                DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2);
                if (ds2.Tables[0].Rows.Count > 0)
                {
                    List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
                    for (int n = 0; n < ds2.Tables[0].Rows.Count; n++)
                    {
                        Model.weixin_request_content modelt = new Model.weixin_request_content();
                        if (ds2.Tables[0].Rows[n]["id"] != null && ds2.Tables[0].Rows[n]["id"].ToString() != "")
                        {
                            modelt.id = int.Parse(ds2.Tables[0].Rows[n]["id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["account_id"] != null && ds2.Tables[0].Rows[n]["account_id"].ToString() != "")
                        {
                            modelt.account_id = int.Parse(ds2.Tables[0].Rows[n]["account_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["rule_id"] != null && ds2.Tables[0].Rows[n]["rule_id"].ToString() != "")
                        {
                            modelt.rule_id = int.Parse(ds2.Tables[0].Rows[n]["rule_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["title"] != null)
                        {
                            modelt.title = ds2.Tables[0].Rows[n]["title"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["content"] != null)
                        {
                            modelt.content = ds2.Tables[0].Rows[n]["content"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["link_url"] != null)
                        {
                            modelt.link_url = ds2.Tables[0].Rows[n]["link_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["img_url"] != null)
                        {
                            modelt.img_url = ds2.Tables[0].Rows[n]["img_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["media_url"] != null)
                        {
                            modelt.media_url = ds2.Tables[0].Rows[n]["media_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["meida_hd_url"] != null)
                        {
                            modelt.meida_hd_url = ds2.Tables[0].Rows[n]["meida_hd_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["sort_id"] != null && ds2.Tables[0].Rows[n]["sort_id"].ToString() != "")
                        {
                            modelt.sort_id = int.Parse(ds2.Tables[0].Rows[n]["sort_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["add_time"] != null && ds2.Tables[0].Rows[n]["add_time"].ToString() != "")
                        {
                            modelt.add_time = DateTime.Parse(ds2.Tables[0].Rows[n]["add_time"].ToString());
                        }
                        ls.Add(modelt);
                    }
                    model.contents = ls;
                }
                #endregion
            }
            return model;
        }
Esempio n. 16
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Model.weixin_request_rule model)
 {
     return(dal.Update(model));
 }
Esempio n. 17
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Add(Model.weixin_request_rule model)
 {
     return(dal.Add(model));
 }
Esempio n. 18
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.weixin_request_rule model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into " + databaseprefix + "weixin_request_rule(");
            strSql.Append("is_default,sort_id,add_time,account_id,name,keywords,request_type,response_type,is_like_query)");
            strSql.Append(" values (");
            strSql.Append("@is_default,@sort_id,@add_time,@account_id,@name,@keywords,@request_type,@response_type,@is_like_query)");
            strSql.Append(";set @ReturnValue= @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@is_default",    SqlDbType.TinyInt,      1),
                new SqlParameter("@sort_id",       SqlDbType.Int,          4),
                new SqlParameter("@add_time",      SqlDbType.DateTime),
                new SqlParameter("@account_id",    SqlDbType.Int,          4),
                new SqlParameter("@name",          SqlDbType.NVarChar,   200),
                new SqlParameter("@keywords",      SqlDbType.NVarChar,  2000),
                new SqlParameter("@request_type",  SqlDbType.Int,          4),
                new SqlParameter("@response_type", SqlDbType.Int,          4),
                new SqlParameter("@is_like_query", SqlDbType.TinyInt,      1),
                new SqlParameter("@ReturnValue",   SqlDbType.Int)
            };
            parameters[0].Value     = model.is_default;
            parameters[1].Value     = model.sort_id;
            parameters[2].Value     = model.add_time;
            parameters[3].Value     = model.account_id;
            parameters[4].Value     = model.name;
            parameters[5].Value     = model.keywords;
            parameters[6].Value     = model.request_type;
            parameters[7].Value     = model.response_type;
            parameters[8].Value     = model.is_like_query;
            parameters[9].Direction = ParameterDirection.Output;
            List <CommandInfo> sqllist = new List <CommandInfo>();
            CommandInfo        cmd     = new CommandInfo(strSql.ToString(), parameters);

            sqllist.Add(cmd);

            if (model.contents != null)
            {
                StringBuilder strSql2;
                foreach (Model.weixin_request_content models in model.contents)
                {
                    strSql2 = new StringBuilder();
                    strSql2.Append("insert into " + databaseprefix + "weixin_request_content(");
                    strSql2.Append("sort_id,add_time,account_id,rule_id,title,content,link_url,img_url,media_id,media_url,meida_hd_url)");
                    strSql2.Append(" values (");
                    strSql2.Append("@sort_id,@add_time,@account_id,@rule_id,@title,@content,@link_url,@img_url,@media_id,@media_url,@meida_hd_url)");
                    SqlParameter[] parameters2 =
                    {
                        new SqlParameter("@sort_id",      SqlDbType.Int,         4),
                        new SqlParameter("@add_time",     SqlDbType.DateTime),
                        new SqlParameter("@account_id",   SqlDbType.Int,         4),
                        new SqlParameter("@rule_id",      SqlDbType.Int,         4),
                        new SqlParameter("@title",        SqlDbType.NVarChar,  500),
                        new SqlParameter("@content",      SqlDbType.NText),
                        new SqlParameter("@link_url",     SqlDbType.NVarChar,  500),
                        new SqlParameter("@img_url",      SqlDbType.NVarChar,  500),
                        new SqlParameter("@media_id",     SqlDbType.NVarChar,  500),
                        new SqlParameter("@media_url",    SqlDbType.NVarChar,  500),
                        new SqlParameter("@meida_hd_url", SqlDbType.NVarChar, 500)
                    };
                    parameters2[0].Value     = models.sort_id;
                    parameters2[1].Value     = models.add_time;
                    parameters2[2].Value     = models.account_id;
                    parameters2[3].Direction = ParameterDirection.InputOutput;
                    parameters2[4].Value     = models.title;
                    parameters2[5].Value     = models.content;
                    parameters2[6].Value     = models.link_url;
                    parameters2[7].Value     = models.img_url;
                    parameters2[8].Value     = models.media_id;
                    parameters2[9].Value     = models.media_url;
                    parameters2[10].Value    = models.meida_hd_url;

                    cmd = new CommandInfo(strSql2.ToString(), parameters2);
                    sqllist.Add(cmd);
                }
            }

            DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist);
            return((int)parameters[9].Value);
        }
Esempio n. 19
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.weixin_request_rule DataRowToModel(DataRow row)
        {
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            if (row != null)
            {
                #region 主表信息======================
                if (row["id"] != null && row["id"].ToString() != "")
                {
                    model.id = int.Parse(row["id"].ToString());
                }
                if (row["account_id"] != null && row["account_id"].ToString() != "")
                {
                    model.account_id = int.Parse(row["account_id"].ToString());
                }
                if (row["name"] != null)
                {
                    model.name = row["name"].ToString();
                }
                if (row["keywords"] != null)
                {
                    model.keywords = row["keywords"].ToString();
                }
                if (row["request_type"] != null && row["request_type"].ToString() != "")
                {
                    model.request_type = int.Parse(row["request_type"].ToString());
                }
                if (row["response_type"] != null && row["response_type"].ToString() != "")
                {
                    model.response_type = int.Parse(row["response_type"].ToString());
                }
                if (row["is_like_query"] != null && row["is_like_query"].ToString() != "")
                {
                    model.is_like_query = int.Parse(row["is_like_query"].ToString());
                }
                if (row["is_default"] != null && row["is_default"].ToString() != "")
                {
                    model.is_default = int.Parse(row["is_default"].ToString());
                }
                if (row["sort_id"] != null && row["sort_id"].ToString() != "")
                {
                    model.sort_id = int.Parse(row["sort_id"].ToString());
                }
                if (row["add_time"] != null && row["add_time"].ToString() != "")
                {
                    model.add_time = DateTime.Parse(row["add_time"].ToString());
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql2 = new StringBuilder();
                strSql2.Append("select id,account_id,rule_id,title,content,link_url,img_url,media_id,media_url,meida_hd_url,sort_id,add_time");
                strSql2.Append(" from " + databaseprefix + "weixin_request_content");
                strSql2.Append(" where rule_id=@rule_id");
                SqlParameter[] parameters2 =
                {
                    new SqlParameter("@rule_id", SqlDbType.Int, 4)
                };
                parameters2[0].Value = model.id;

                DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2);
                if (ds2.Tables[0].Rows.Count > 0)
                {
                    List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
                    for (int n = 0; n < ds2.Tables[0].Rows.Count; n++)
                    {
                        Model.weixin_request_content modelt = new Model.weixin_request_content();
                        if (ds2.Tables[0].Rows[n]["id"] != null && ds2.Tables[0].Rows[n]["id"].ToString() != "")
                        {
                            modelt.id = int.Parse(ds2.Tables[0].Rows[n]["id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["account_id"] != null && ds2.Tables[0].Rows[n]["account_id"].ToString() != "")
                        {
                            modelt.account_id = int.Parse(ds2.Tables[0].Rows[n]["account_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["rule_id"] != null && ds2.Tables[0].Rows[n]["rule_id"].ToString() != "")
                        {
                            modelt.rule_id = int.Parse(ds2.Tables[0].Rows[n]["rule_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["title"] != null)
                        {
                            modelt.title = ds2.Tables[0].Rows[n]["title"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["content"] != null)
                        {
                            modelt.content = ds2.Tables[0].Rows[n]["content"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["link_url"] != null)
                        {
                            modelt.link_url = ds2.Tables[0].Rows[n]["link_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["img_url"] != null)
                        {
                            modelt.img_url = ds2.Tables[0].Rows[n]["img_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["media_id"] != null)
                        {
                            modelt.media_id = ds2.Tables[0].Rows[n]["media_id"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["media_url"] != null)
                        {
                            modelt.media_url = ds2.Tables[0].Rows[n]["media_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["meida_hd_url"] != null)
                        {
                            modelt.meida_hd_url = ds2.Tables[0].Rows[n]["meida_hd_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["sort_id"] != null && ds2.Tables[0].Rows[n]["sort_id"].ToString() != "")
                        {
                            modelt.sort_id = int.Parse(ds2.Tables[0].Rows[n]["sort_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["add_time"] != null && ds2.Tables[0].Rows[n]["add_time"].ToString() != "")
                        {
                            modelt.add_time = DateTime.Parse(ds2.Tables[0].Rows[n]["add_time"].ToString());
                        }
                        ls.Add(modelt);
                    }
                    model.contents = ls;
                }
                #endregion
            }
            return(model);
        }
Esempio n. 20
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.weixin_request_rule model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息============================
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append("update " + databaseprefix + "weixin_request_rule set ");
                        strSql.Append("account_id=@account_id,");
                        strSql.Append("name=@name,");
                        strSql.Append("keywords=@keywords,");
                        strSql.Append("request_type=@request_type,");
                        strSql.Append("response_type=@response_type,");
                        strSql.Append("is_like_query=@is_like_query,");
                        strSql.Append("is_default=@is_default,");
                        strSql.Append("sort_id=@sort_id,");
                        strSql.Append("add_time=@add_time");
                        strSql.Append(" where id=@id");
                        SqlParameter[] parameters =
                        {
                            new SqlParameter("@account_id",    SqlDbType.Int,          4),
                            new SqlParameter("@name",          SqlDbType.NVarChar,   200),
                            new SqlParameter("@keywords",      SqlDbType.NVarChar,  2000),
                            new SqlParameter("@request_type",  SqlDbType.Int,          4),
                            new SqlParameter("@response_type", SqlDbType.Int,          4),
                            new SqlParameter("@is_like_query", SqlDbType.TinyInt,      1),
                            new SqlParameter("@is_default",    SqlDbType.TinyInt,      1),
                            new SqlParameter("@sort_id",       SqlDbType.Int,          4),
                            new SqlParameter("@add_time",      SqlDbType.DateTime),
                            new SqlParameter("@id",            SqlDbType.Int, 4)
                        };
                        parameters[0].Value = model.account_id;
                        parameters[1].Value = model.name;
                        parameters[2].Value = model.keywords;
                        parameters[3].Value = model.request_type;
                        parameters[4].Value = model.response_type;
                        parameters[5].Value = model.is_like_query;
                        parameters[6].Value = model.is_default;
                        parameters[7].Value = model.sort_id;
                        parameters[8].Value = model.add_time;
                        parameters[9].Value = model.id;
                        DbHelperSQL.ExecuteSql(conn, trans, strSql.ToString(), parameters);
                        #endregion

                        #region 添加规则内容========================
                        //先删除的规则内容
                        DbHelperSQL.ExecuteSql(conn, trans, "delete from " + databaseprefix + "weixin_request_content where rule_id=" + model.id);
                        //添加/修改规则内容
                        if (model.contents != null)
                        {
                            StringBuilder strSql2;
                            foreach (Model.weixin_request_content modelt in model.contents)
                            {
                                strSql2 = new StringBuilder();
                                strSql2.Append("insert into " + databaseprefix + "weixin_request_content(");
                                strSql2.Append("account_id,rule_id,title,content,link_url,img_url,media_id,media_url,meida_hd_url,sort_id,add_time)");
                                strSql2.Append(" values (");
                                strSql2.Append("@account_id,@rule_id,@title,@content,@link_url,@img_url,@media_id,@media_url,@meida_hd_url,@sort_id,@add_time)");
                                SqlParameter[] parameters2 =
                                {
                                    new SqlParameter("@account_id",   SqlDbType.Int,        4),
                                    new SqlParameter("@rule_id",      SqlDbType.Int,        4),
                                    new SqlParameter("@title",        SqlDbType.NVarChar, 500),
                                    new SqlParameter("@content",      SqlDbType.NText),
                                    new SqlParameter("@link_url",     SqlDbType.NVarChar, 500),
                                    new SqlParameter("@img_url",      SqlDbType.NVarChar, 500),
                                    new SqlParameter("@media_id",     SqlDbType.NVarChar, 500),
                                    new SqlParameter("@media_url",    SqlDbType.NVarChar, 500),
                                    new SqlParameter("@meida_hd_url", SqlDbType.NVarChar, 500),
                                    new SqlParameter("@sort_id",      SqlDbType.Int,        4),
                                    new SqlParameter("@add_time",     SqlDbType.DateTime)
                                };
                                parameters2[0].Value  = modelt.account_id;
                                parameters2[1].Value  = modelt.rule_id;
                                parameters2[2].Value  = modelt.title;
                                parameters2[3].Value  = modelt.content;
                                parameters2[4].Value  = modelt.link_url;
                                parameters2[5].Value  = modelt.img_url;
                                parameters2[6].Value  = modelt.media_id;
                                parameters2[7].Value  = modelt.media_url;
                                parameters2[8].Value  = modelt.meida_hd_url;
                                parameters2[9].Value  = modelt.sort_id;
                                parameters2[10].Value = modelt.add_time;
                                DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                            }
                        }
                        #endregion

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        return(false);
                    }
                }
            }
            return(true);
        }
Esempio n. 21
0
        //保存
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //检查权限
            switch (this.action.ToLower())
            {
            case "default":
                ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Edit.ToString());
                break;

            case "cancel":
                ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Edit.ToString());
                break;

            default:
                ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Edit.ToString());
                break;
            }
            //开始保存数据
            string ruleName     = string.Empty;                                  //规格名称
            int    ruleId       = Utils.StrToInt(hideId.Value, 0);               //规则ID
            int    requestType  = int.Parse(hideReqestType.Value);               //请求的类别
            int    responseType = int.Parse(rblResponseType.SelectedItem.Value); //回复的类别

            if (requestType == 6)
            {
                ruleName = "关注时的触发内容";
            }
            else if (requestType == 0)
            {
                ruleName = "默认回复内容";
            }
            else if (requestType == 7)
            {
                ruleName = "取消关注时的触发内容";
            }
            Model.weixin_request_rule model = new BLL.weixin_request_rule().GetModel(ruleId);
            if (model == null)
            {
                model = new Model.weixin_request_rule();
            }
            model.account_id   = this.id;
            model.name         = ruleName;
            model.request_type = requestType;
            model.is_default   = 0;
            model.add_time     = DateTime.Now;

            if (responseType == 0) //纯文本
            {
                if (txtContent.Text.Trim().Length == 0)
                {
                    JscriptMsg("回复内容不能为空!", string.Empty);
                    return;
                }
                model.response_type = 1;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5
                List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
                ls.Add(new Model.weixin_request_content()
                {
                    account_id = this.id, rule_id = ruleId, content = txtContent.Text.Trim()
                });
                model.contents = ls;
            }
            else if (rblResponseType.SelectedItem.Value == "1") //图文
            {
                model.response_type = 2;                        //回复的类型:文本1,图文2,语音3,视频4,第三方接口5

                #region 赋值规则图片
                string[] itemIdArr      = Request.Form.GetValues("item_id");
                string[] itemTitleArr   = Request.Form.GetValues("item_title");
                string[] itemContentArr = Request.Form.GetValues("item_content");
                string[] itemImgUrlArr  = Request.Form.GetValues("item_imgurl");
                string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl");
                string[] itemSortIdArr  = Request.Form.GetValues("item_sortid");
                if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null)
                {
                    if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) &&
                        (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length))
                    {
                        List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
                        for (int i = 0; i < itemIdArr.Length; i++)
                        {
                            Model.weixin_request_content modelt = new Model.weixin_request_content();
                            modelt.id         = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                            modelt.account_id = this.id;
                            modelt.rule_id    = ruleId;
                            modelt.title      = itemTitleArr[i].Trim();
                            modelt.content    = itemContentArr[i].Trim();
                            modelt.img_url    = itemImgUrlArr[i].Trim();
                            modelt.link_url   = itemLinkUrlArr[i].Trim();
                            modelt.sort_id    = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                            ls.Add(modelt);
                        }
                        model.contents = ls;
                    }
                }
                else
                {
                    model.contents = null;
                }
                #endregion
            }
            else if (rblResponseType.SelectedItem.Value == "2") //语音
            {
                if (txtSoundTitle.Text.Trim().Length == 0)
                {
                    JscriptMsg("语音标题不能为空!", string.Empty);
                    return;
                }
                if (txtSoundUrl.Text.Trim().Length == 0)
                {
                    JscriptMsg("文件地址不能为空!", string.Empty);
                    return;
                }
                model.response_type = 3;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5
                List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
                ls.Add(new Model.weixin_request_content()
                {
                    account_id = this.id, rule_id = ruleId,
                    title      = txtSoundTitle.Text.Trim(), media_url = txtSoundUrl.Text.Trim(), content = txtSoundContent.Text.Trim()
                });
                model.contents = ls;
            }
            //判断是新增还是修改
            if (model.id > 0 && new BLL.weixin_request_rule().Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "新增微信" + ruleName); //记录日志
                JscriptMsg("编辑" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id);
                return;
            }
            else if (new BLL.weixin_request_rule().Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "编辑微信" + ruleName); //记录日志
                JscriptMsg("新增" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id);
                return;
            }
            JscriptMsg("保存" + ruleName + "失败!", string.Empty);
            return;
        }
Esempio n. 22
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.weixin_request_rule model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();//打开数据连接
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息==========================
                        StringBuilder strSql = new StringBuilder();
                        StringBuilder str1   = new StringBuilder();
                        //利用反射获得属性的所有公共属性
                        PropertyInfo[]      pros  = model.GetType().GetProperties();
                        List <SqlParameter> paras = new List <SqlParameter>();
                        strSql.Append("update " + databaseprefix + "weixin_request_rule set ");
                        foreach (PropertyInfo pi in pros)
                        {
                            //如果不是主键或List<T>则追加sql字符串
                            if (!pi.Name.Equals("id") && !pi.Name.Equals("contents"))
                            {
                                //判断属性值是否为空
                                if (pi.GetValue(model, null) != null)
                                {
                                    str1.Append(pi.Name + "=@" + pi.Name + ",");                          //声明参数
                                    paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值
                                }
                            }
                        }
                        strSql.Append(str1.ToString().Trim(','));
                        strSql.Append(" where id=@id ");
                        paras.Add(new SqlParameter("@id", model.id));
                        DbHelperSQL.ExecuteSql(conn, trans, strSql.ToString(), paras.ToArray());
                        #endregion

                        #region 规则内容表信息====================
                        //先删除的规则内容
                        DbHelperSQL.ExecuteSql(conn, trans, "delete from " + databaseprefix + "weixin_request_content where rule_id=" + model.id);
                        //重新添加规则内容
                        if (model.contents != null)
                        {
                            StringBuilder strSql2; //SQL字符串
                            StringBuilder str21;   //数据库字段
                            StringBuilder str22;   //声明参数
                            foreach (Model.weixin_request_content modelt in model.contents)
                            {
                                strSql2 = new StringBuilder();
                                str21   = new StringBuilder();
                                str22   = new StringBuilder();
                                PropertyInfo[]      pros2  = modelt.GetType().GetProperties();
                                List <SqlParameter> paras2 = new List <SqlParameter>();
                                strSql2.Append("insert into " + databaseprefix + "weixin_request_content(");
                                foreach (PropertyInfo pi in pros2)
                                {
                                    if (!pi.Name.Equals("id"))
                                    {
                                        if (pi.GetValue(modelt, null) != null)
                                        {
                                            str21.Append(pi.Name + ",");
                                            str22.Append("@" + pi.Name + ",");
                                            if (pi.Name.Equals("rule_id"))
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, model.id)); //将规则ID赋值
                                            }
                                            else
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, pi.GetValue(modelt, null)));
                                            }
                                        }
                                    }
                                }
                                strSql2.Append(str21.ToString().Trim(','));
                                strSql2.Append(") values (");
                                strSql2.Append(str22.ToString().Trim(','));
                                strSql2.Append(") ");
                                DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), paras2.ToArray());
                            }
                        }
                        #endregion

                        trans.Commit();//提交事务
                    }
                    catch
                    {
                        trans.Rollback();//回滚事务
                        return(false);
                    }
                }
            }
            return(true);
        }
Esempio n. 23
0
        //保存
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //检查权限
            switch (this.action.ToLower())
            {
                case "default":
                    ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Edit.ToString());
                    break;
                case "cancel":
                    ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Edit.ToString());
                    break;
                default:
                    ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Edit.ToString());
                    break;
            }
            //开始保存数据
            string ruleName = string.Empty; //规格名称
            int ruleId = Utils.StrToInt(hideId.Value, 0); //规则ID
            int requestType = int.Parse(hideReqestType.Value);//请求的类别
            int responseType = int.Parse(rblResponseType.SelectedItem.Value); //回复的类别
            if (requestType == 6)
            {
                ruleName = "关注时的触发内容";
            }
            else if (requestType == 0)
            {
                ruleName = "默认回复内容";
            }
            else if (requestType == 7)
            {
                ruleName = "取消关注时的触发内容";
            }
            Model.weixin_request_rule model = new BLL.weixin_request_rule().GetModel(ruleId);
            if (model == null)
            {
                model = new Model.weixin_request_rule();
            }
            model.account_id = this.id;
            model.name = ruleName;
            model.request_type = requestType;
            model.is_default = 0;
            model.add_time = DateTime.Now;

            if (responseType == 0) //纯文本
            {
                if (txtContent.Text.Trim().Length == 0)
                {
                    JscriptMsg("回复内容不能为空!", string.Empty);
                    return;
                }
                model.response_type = 1;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5
                List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
                ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId, content = txtContent.Text.Trim() });
                model.contents = ls;
            }
            else if (rblResponseType.SelectedItem.Value == "1") //图文
            {
                model.response_type = 2;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5

                #region 赋值规则图片
                string[] itemIdArr = Request.Form.GetValues("item_id");
                string[] itemTitleArr = Request.Form.GetValues("item_title");
                string[] itemContentArr = Request.Form.GetValues("item_content");
                string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl");
                string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl");
                string[] itemSortIdArr = Request.Form.GetValues("item_sortid");
                if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null)
                {
                    if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length)
                        && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length))
                    {
                        List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
                        for (int i = 0; i < itemIdArr.Length; i++)
                        {
                            Model.weixin_request_content modelt = new Model.weixin_request_content();
                            modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                            modelt.account_id = this.id;
                            modelt.rule_id = ruleId;
                            modelt.title = itemTitleArr[i].Trim();
                            modelt.content = itemContentArr[i].Trim();
                            modelt.img_url = itemImgUrlArr[i].Trim();
                            modelt.link_url = itemLinkUrlArr[i].Trim();
                            modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                            ls.Add(modelt);
                        }
                        model.contents = ls;
                    }
                }
                else
                {
                    model.contents = null;
                }
                #endregion
            }
            else if (rblResponseType.SelectedItem.Value == "2") //语音
            {
                if (txtSoundTitle.Text.Trim().Length == 0)
                {
                    JscriptMsg("语音标题不能为空!", string.Empty);
                    return;
                }
                if (txtSoundUrl.Text.Trim().Length == 0)
                {
                    JscriptMsg("文件地址不能为空!", string.Empty);
                    return;
                }
                model.response_type = 3;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5
                List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>();
                ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId,
                    title = txtSoundTitle.Text.Trim(), media_url = txtSoundUrl.Text.Trim(), content = txtSoundContent.Text.Trim() });
                model.contents = ls;
            }
            //判断是新增还是修改
            if (model.id > 0 && new BLL.weixin_request_rule().Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "新增微信" + ruleName); //记录日志
                JscriptMsg("编辑" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id);
                return;
            }
            else if (new BLL.weixin_request_rule().Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "编辑微信" + ruleName); //记录日志
                JscriptMsg("新增" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id);
                return;
            }
            JscriptMsg("保存" + ruleName + "失败!", string.Empty);
            return;
        }