public static bool InsertPurchaseApply(PurchaseApplyModel PurchaseApplyM, List <PurchaseApplyDetailSourceModel> PurchaseApplyDetailSourceMList , List <PurchaseApplyDetailModel> PurchaseApplyDetailMList, out int IndexIDentity, Hashtable htExtAttr) { ArrayList lstAdd = new ArrayList(); //插入主表 SqlCommand AddPri = PurchaseApplyDBHelper.InsertPrimary(PurchaseApplyM); lstAdd.Add(AddPri); string ApplyNo = PurchaseApplyM.ApplyNo; foreach (PurchaseApplyDetailSourceModel PurchaseApplyDetailSourceM in PurchaseApplyDetailSourceMList) { SqlCommand AddDtlS = PurchaseApplyDBHelper.InsertDtlS(PurchaseApplyDetailSourceM, ApplyNo); lstAdd.Add(AddDtlS); } foreach (PurchaseApplyDetailModel PurchaseApplyDetailM in PurchaseApplyDetailMList) { SqlCommand AddDtl = PurchaseApplyDBHelper.InsertDtl(PurchaseApplyDetailM, ApplyNo); lstAdd.Add(AddDtl); } #region 拓展属性 SqlCommand cmd = new SqlCommand(); GetExtAttrCmd(PurchaseApplyM, htExtAttr, cmd); if (htExtAttr.Count > 0) { lstAdd.Add(cmd); } #endregion //获取登陆用户信息 UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithArrayList(lstAdd); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; IndexIDentity = int.Parse(((SqlCommand)AddPri).Parameters["@IndexID"].Value.ToString()); } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; IndexIDentity = 0; } LogInfoModel logModel = InitLogInfo(ApplyNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_INSERT; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); }
/// <summary> /// 修改采购申请 /// </summary> /// <param name="PurchaseApplyM">主表</param> /// <param name="str">明细来源</param> /// <param name="start"></param> /// <param name="end">从start--end需要更新,end以后要插入</param> /// <param name="str2">明细信息</param> /// <param name="ApplyNo"></param> /// <returns></returns> public static bool UpdatePurchaseApply(PurchaseApplyModel PurchaseApplyM, List <PurchaseApplyDetailSourceModel> PurchaseApplyDetailSourceMList , List <PurchaseApplyDetailModel> PurchaseApplyDetailMList, Hashtable htExtAttr) { try { ArrayList lstUpdate = new ArrayList(); //更新主表 SqlCommand UpdatePri = PurchaseApplyDBHelper.UpdatePrimary(PurchaseApplyM); lstUpdate.Add(UpdatePri); string ApplyNo = PurchaseApplyM.ApplyNo; string FromType = PurchaseApplyM.FromType; #region 拓展属性 SqlCommand cmd = new SqlCommand(); GetExtAttrCmd(PurchaseApplyM, htExtAttr, cmd); if (htExtAttr.Count > 0) { lstUpdate.Add(cmd); } #endregion //删除原来明细来源 SqlCommand DelDtlS = PurchaseApplyDBHelper.DeleteDtlS(ApplyNo); lstUpdate.Add(DelDtlS); //插入现在的明细来源 foreach (PurchaseApplyDetailSourceModel PurchaseApplyDetailSourceM in PurchaseApplyDetailSourceMList) { SqlCommand AddDtlS = PurchaseApplyDBHelper.InsertDtlS(PurchaseApplyDetailSourceM, ApplyNo); lstUpdate.Add(AddDtlS); } //删除原来明细 SqlCommand DelDtl = PurchaseApplyDBHelper.DeleteDtl(ApplyNo); lstUpdate.Add(DelDtl); //插入现在的明细 foreach (PurchaseApplyDetailModel PurchaseApplyDetailM in PurchaseApplyDetailMList) { SqlCommand AddDtl = PurchaseApplyDBHelper.InsertDtl(PurchaseApplyDetailM, ApplyNo); lstUpdate.Add(AddDtl); } //获取登陆用户信息 UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithArrayList(lstUpdate); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; } LogInfoModel logModel = InitLogInfo(ApplyNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_UPDATE; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); } catch (Exception ex) { throw ex; } }