Пример #1
0
        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();
            }
        }
Пример #2
0
 protected bool CheckModelIsValid(ApproveEntryViewModel model)
 {
     if (ModelState.IsValid)
     {
         model.HasError = "false";
         return(true);
     }
     else
     {
         model.HasError = "true";
         return(false);
     }
 }
Пример #3
0
 /// <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);
     }
 }
Пример #4
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);
        }
Пример #5
0
 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");
         }
     }
 }