/// <summary>
        /// 对象实体绑定数据
        /// </summary>
        private static USER_SHARE_PRODUCTMODEL ReaderBind(DataRow dataReader)
        {
            USER_SHARE_PRODUCTMODEL model = new USER_SHARE_PRODUCTMODEL();

            model.PRODUCTID   = ValidatorHelper.ToInt(dataReader["PRODUCTID"], 0);
            model.PROJECTID   = ValidatorHelper.ToInt(dataReader["PROJECTID"], 0);
            model.PRODUCTNAME = CommonMethod.FinalString(dataReader["PRODUCTNAME"]);
            model.PRODUCTDESC = CommonMethod.FinalString(dataReader["PRODUCTDESC"]);
            model.PRODUCTFLAG = ValidatorHelper.ToInt(dataReader["PRODUCTFLAG"], 0);
            return(model);
        }
Exemple #2
0
        //加载原有信息
        private void LoadProductInfo()
        {
            USER_SHARE_PRODUCTMODEL uspModel = ProductBusiness.GetProductModel(ProductId);

            if (uspModel != null)
            {
                txtProductName.Text = uspModel.PRODUCTNAME;
                txtProductDesc.Text = uspModel.PRODUCTDESC;
                ControlHelper.SelectFlg(ddlProjects, uspModel.PROJECTID.ToString());
            }
            else
            {
                Response.Write("不存在此产品信息!");
                Response.End();
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public static USER_SHARE_PRODUCTMODEL GetProductModel(int PRODUCTID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select PRODUCTID,PROJECTID,PRODUCTNAME,PRODUCTDESC,PRODUCTFLAG from USER_SHARE_PRODUCT ");
            strSql.Append(" where PRODUCTID=:PRODUCTID ");
            ParamList param = new ParamList();

            param["PRODUCTID"] = PRODUCTID;
            USER_SHARE_PRODUCTMODEL model = null;
            DataTable dt = StaticConnectionProvider.ExecuteDataTable(strSql.ToString(), param);

            if (dt != null && dt.Rows.Count > 0)
            {
                model = ReaderBind(dt.Rows[0]);
            }

            return(model);
        }
Exemple #4
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            #region 验证

            if (txtProductName.Text.Trim().Length == 0)
            {
                Alert("请填写产品名称!");
                Select(txtProductName);
                return;
            }

            if (CommonMethod.FinalString(Request.Form["fun"]).Length == 0)
            {
                Alert("请选择产品拥有的功能!");
                return;
            }

            #endregion

            #region 基础信息和日志记录

            USER_SHARE_PRODUCTMODEL uspModel = null;

            //日志记录
            USER_SHARE_LOGMODEL logModel = new USER_SHARE_LOGMODEL();
            logModel.LOGID       = CommonBusiness.GetSeqID("S_USER_SHARE_LOG");
            logModel.OPERATEDATE = DateTime.Now;
            logModel.OPERATORID  = AccountId;
            logModel.PROJECTID   = ProjectId;
            logModel.COMPANYID   = CompanyId;

            //修改
            if (ProductId > 0)
            {
                uspModel                = ProductBusiness.GetProductModel(ProductId);
                logModel.OPERATETYPE    = int.Parse(ShareEnum.LogType.EditProduct.ToString("d"));
                logModel.OPERATECONTENT = string.Format("修改产品信息,产品Id:{0},修改后的名称:{1}", ProductId, txtProductName.Text.Trim());
            }

            //新增
            else
            {
                uspModel                = new USER_SHARE_PRODUCTMODEL();
                uspModel.PRODUCTID      = CommonBusiness.GetSeqID("S_USER_SHARE_PRODUCT");
                uspModel.PRODUCTFLAG    = int.Parse(ShareEnum.ProductFlag.Normal.ToString("d"));
                logModel.OPERATETYPE    = int.Parse(ShareEnum.LogType.AddProduct.ToString("d"));
                logModel.OPERATECONTENT = string.Format("新增产品信息,产品Id:{0}, 名称:{1}", uspModel.PRODUCTID, txtProductName.Text.Trim());
            }

            uspModel.PRODUCTNAME = txtProductName.Text.Trim();
            uspModel.PROJECTID   = ValidatorHelper.ToInt(ddlProjects.SelectedValue, 0);
            uspModel.PRODUCTDESC = txtProductDesc.Text.Trim();

            #endregion

            #region 产品功能

            string strFunIds = CommonMethod.FinalString(Request.Form["fun"]);
            List <USER_SHARE_PRODUCTFUNMODEL> lstModels = new List <USER_SHARE_PRODUCTFUNMODEL>();
            if (strFunIds.Length > 0)
            {
                USER_SHARE_PRODUCTFUNMODEL funModel = null;
                string[] funs = strFunIds.Split(',');
                foreach (string funid in funs)
                {
                    funModel          = new USER_SHARE_PRODUCTFUNMODEL();
                    funModel.PROCUTID = uspModel.PRODUCTID;
                    funModel.FUNID    = ValidatorHelper.ToInt(funid, 0);
                    lstModels.Add(funModel);
                }
            }
            else
            {
                Alert("请先选择此产品包含的功能!");
                return;
            }

            #endregion

            #region 保存

            bool   isSuccess = false;
            string strTip    = ProductId > 0 ? "修改" : "新增";

            if (ProductId > 0)
            {
                isSuccess = ProductBusiness.EditProduct(uspModel, lstModels, logModel);
            }
            else
            {
                isSuccess = ProductBusiness.AddProduct(uspModel, lstModels, logModel);
            }

            if (isSuccess)
            {
                Alert(strTip + "产品成功!");
                ExecScript("parent.__doPostBack('ctl00$MainContent$btnSearch','');");
            }
            else
            {
                Alert(strTip + "产品失败,请重试!");
            }

            #endregion
        }
        /// <summary>
        /// 修改一条数据
        /// </summary>
        public static bool EditProduct(USER_SHARE_PRODUCTMODEL model, List <USER_SHARE_PRODUCTFUNMODEL> lstFunModel, USER_SHARE_LOGMODEL log)
        {
            bool blSuccess = false;

            StringBuilder strSql = new StringBuilder();

            strSql.Append("update USER_SHARE_PRODUCT set ");
            strSql.Append("PROJECTID=:PROJECTID,");
            strSql.Append("PRODUCTNAME=:PRODUCTNAME,");
            strSql.Append("PRODUCTDESC=:PRODUCTDESC");
            strSql.Append(" where PRODUCTID=:PRODUCTID ");
            ParamList param = new ParamList();

            param["PRODUCTID"]   = model.PRODUCTID;
            param["PROJECTID"]   = model.PROJECTID;
            param["PRODUCTNAME"] = model.PRODUCTNAME;
            param["PRODUCTDESC"] = model.PRODUCTDESC;


            IConnectionProvider connection = ConnectionProviderBuilder.CreateConnectionProvider();

            try
            {
                using (connection)
                {
                    connection.BeginTranscation();

                    //增加产品基础信息
                    connection.ExecuteNonQuery(strSql.ToString(), param);
                    param.Clear();

                    //产品功能信息

                    //删除原来的
                    connection.ExecuteNonQuery("DELETE FROM USER_SHARE_PRODUCTFUN WHERE PRODUCTID=" + model.PRODUCTID);
                    //增加现在的
                    foreach (USER_SHARE_PRODUCTFUNMODEL funmodel in lstFunModel)
                    {
                        strSql = new StringBuilder();
                        strSql.Append("insert into USER_SHARE_PRODUCTFUN(");
                        strSql.Append("PRODUCTID,FUNID)");
                        strSql.Append(" values (");
                        strSql.Append(":PRODUCTID,:FUNID)");

                        param["PRODUCTID"] = funmodel.PROCUTID;
                        param["FUNID"]     = funmodel.FUNID;

                        connection.ExecuteNonQuery(strSql.ToString(), param);
                    }

                    param.Clear();

                    //操作日志
                    strSql = new StringBuilder();
                    strSql.Append("insert into USER_SHARE_LOG(");
                    strSql.Append("LOGID,OPERATETYPE,OPERATORID,PROJECTID,COMPANYID,OPERATECONTENT,OPERATEDATE)");
                    strSql.Append(" values (");
                    strSql.Append(":LOGID,:OPERATETYPE,:OPERATORID,:PROJECTID,:COMPANYID,:OPERATECONTENT,:OPERATEDATE)");

                    param["LOGID"]          = log.LOGID;
                    param["OPERATETYPE"]    = log.OPERATETYPE;
                    param["OPERATORID"]     = log.OPERATORID;
                    param["PROJECTID"]      = log.PROJECTID;
                    param["COMPANYID"]      = log.COMPANYID;
                    param["OPERATECONTENT"] = log.OPERATECONTENT;
                    param["OPERATEDATE"]    = log.OPERATEDATE;
                    connection.ExecuteNonQuery(strSql.ToString(), param);

                    connection.CommitTranscation();
                    blSuccess = true;
                }
            }
            catch (Exception ex)
            {
                connection.RollbackTranscation();
                LogHelper.WriteErr("修改产品信息时发生错误,产品名称:" + model.PRODUCTNAME, ex);
            }

            return(blSuccess);
        }