/// <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); }
//加载原有信息 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); }
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); }