protected int Update(IApproveEntry rep, ApproveEntryViewModel model, string pkValue, string approveReturn) { UserInfo sysUser = CacheInit.GetUserInfo(HttpContext); DataUpdate dbUpdate = new DataUpdate(); try { dbUpdate.BeginTransaction(); rep.DbUpdate = dbUpdate; if (model.FormMode != "approve") { //再申请的,将状态由再申请初期变为再申请 if (model.FormMode == "reapply") { ApproveRepository repApprove = new ApproveRepository(); repApprove.DbUpdate = rep.DbUpdate; repApprove.EditData(sysUser, model.ViewTitle, model.ApproveTableName, model.ApprovePkField, model.ApprovePkValue, "A", model.ApproveMind, model.ApproveNode); } if (CheckModelIsValid(model)) { rep.Update(model, sysUser, model.FormMode, pkValue, model.ViewTitle); } else { return(0); } } else { //ModelState.Clear(); if (ApproveAndUpdate(rep, model, pkValue, approveReturn, sysUser) == 0) { return(0); } int val = DealApprove(rep, model, approveReturn, ""); if (val == 0) { return(0); } } dbUpdate.Commit(); return(1); } catch (Exception ex) { dbUpdate.Rollback(); model.Message = ex.Message; model.HasError = "true"; AppLog.WriteLog(sysUser.UserName, LogType.Error, "UpdateError", "[Message]:" + ex.Message + " [StackTrace]:" + ex.StackTrace); return(0); } finally { dbUpdate.Close(); } }
protected bool CheckModelIsValid(ApproveEntryViewModel model) { if (ModelState.IsValid) { model.HasError = "false"; return(true); } else { model.HasError = "true"; return(false); } }
/// <summary> /// 审批时同时可以修改提交的内容,如果想不允许修改提交内容,子类可以override该方法(只需ModelState.Clear();return 1;就这两行代码就好了)。 /// </summary> /// <param name="rep"></param> /// <param name="model"></param> /// <param name="pkValue"></param> /// <param name="approveReturn"></param> /// <param name="sysUser"></param> /// <returns></returns> protected virtual int ApproveAndUpdate(IApproveEntry rep, ApproveEntryViewModel model, string pkValue, string approveReturn, UserInfo sysUser) { //ModelState.Clear(); if (approveReturn == "true") { return(1); } if (CheckModelIsValid(model)) { return(rep.Update(model, sysUser, model.FormMode, pkValue, model.ViewTitle)); } else { return(0); } }
//protected ActionResult DealApprove(IApproveEntry repApproveMaster, ApproveEntryViewModel model, string approveReturn) //{ // DataUpdate dbUpdate = new DataUpdate(); // try // { // dbUpdate.BeginTransaction(); // repApproveMaster.DbUpdate = dbUpdate; // int ret = SaveApprove(repApproveMaster, approveReturn, model.ApproveTableName, model.ApprovePkField, model.ApprovePkValue, model.ApproveMind, model.ApproveLevel, model.ApproveNode, model.ViewTitle); // if (ret == 2) // { // UserInfo sysUser = CacheInit.GetUserInfo(HttpContext); // repApproveMaster.DealEndApprove(model.ApprovePkValue, sysUser, model.ViewTitle); // } // dbUpdate.Commit(); // } // catch (Exception ex) // { // dbUpdate.Rollback(); // throw new Exception(ex.Message); // } // finally // { // dbUpdate.Close(); // } // return RedirectToAction("List", new { pageId = model.PageId, viewTitle = model.ViewTitle, listMode = model.FormMode }); //} //protected void Update(IApproveEntry rep, ApproveEntryViewModel model, string mode, string pkValue, string viewTitle) //{ // UserInfo sysUser = CacheInit.GetUserInfo(HttpContext); // DataUpdate dbUpdate = new DataUpdate(); // try // { // dbUpdate.BeginTransaction(); // rep.DbUpdate = dbUpdate; // rep.Update(model, sysUser, mode, pkValue, viewTitle); // dbUpdate.Commit(); // } // catch (Exception ex) // { // dbUpdate.Rollback(); // throw new Exception(ex.Message); // } // finally // { // dbUpdate.Close(); // } //} /// <summary> /// 处理审批信息 /// </summary> /// <param name="repApproveMaster"></param> /// <param name="model"></param> /// <param name="approveReturn"></param> /// <param name="aa"></param> /// <returns></returns> protected int DealApprove(IApproveEntry repApproveMaster, ApproveEntryViewModel model, string approveReturn, string aa) { int ret = SaveApprove(repApproveMaster, approveReturn, model.ApproveTableName, model.ApprovePkField, model.ApprovePkValue, model.ApproveMind, model.ApproveLevel, model.ApproveNode, model.ViewTitle); if (ret == 2) { UserInfo sysUser = CacheInit.GetUserInfo(HttpContext); repApproveMaster.DealEndApprove(model.ApprovePkValue, sysUser, model.ViewTitle); } else if (ret == 3) { model.Message = AppMember.AppText["SameRoleHasApprove"]; model.HasError = "true"; return(0); } return(1); }
protected void SetParentEntryModel(string pageId, string primaryKey, string formMode, string viewTitle, ApproveEntryViewModel model) { model.PageId = pageId; model.ViewTitle = viewTitle; model.FormMode = formMode; model.FormId = "EntryForm"; model.SaveUrl = Url.Action("Entry"); model.IsDisabled = true; model.CustomClick = false; //if (formMode != "approve") // model.CustomClick = true; //if (DataConvert.ToString(formMode).Contains("approve") ||DataConvert.ToString(formMode).Contains("reapply")) // model.ReturnUrl = Url.Action("List", new { listMode = formMode }); //else // model.ReturnUrl = Url.Action("List"); if (formMode.Contains("approve") || formMode.Contains("reapply")) { model.ApproveReturnUrl = Url.Action("Entry", new { approveReturn = "true" }); model.ApproveGridLayout = ApproveGridLayout(); model.ApprovePkValue = primaryKey; if (formMode == "approveinfo") { model.ReturnUrl = Url.Action("List"); } else { model.ReturnUrl = Url.Action("List", new { listMode = formMode.Contains("approve") ? "approve" : "reapply" }); if (formMode.Contains("approve") && formMode != "approveview") { ApproveRepository repApprove = new ApproveRepository(); UserInfo sysUser = CacheInit.GetUserInfo(HttpContext); DataRow dr = repApprove.GetApproveData(model.ApproveTableName, primaryKey, sysUser.UserId); model.ApproveNode = DataConvert.ToString(dr["approveNode"]); model.ApproveLevel = DataConvert.ToString(dr["approveLevel"]); } } } else { if (formMode.Contains("actual")) { model.ReturnUrl = Url.Action("List", new { listMode = "actual" }); } else { model.ReturnUrl = Url.Action("List"); } } }