Exemplo n.º 1
0
        public void 呼叫簽核狀態_預期得到成功()
        {
            var repository = new ApproveRepository();
            var status     = repository.GetStatus();

            Assert.AreEqual("成功", status);
        }
Exemplo n.º 2
0
        protected DataTable ApproveGridDataTable(string pkValue, string tableName)
        {
            ApproveRepository           rep   = new ApproveRepository();
            Dictionary <string, object> paras = new Dictionary <string, object>();

            paras.Add("refId", pkValue);
            paras.Add("tableName", tableName);
            return(rep.GetGridDataTable(paras));
        }
Exemplo n.º 3
0
        public void 呼叫簽核狀態_預期得到暫止()
        {
            var repository = new ApproveRepository();

            repository.Adapter = new FakeApproveAdapter();
            var status = repository.GetStatus();

            Assert.AreEqual("暫止", status);
        }
Exemplo n.º 4
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();
            }
        }
Exemplo n.º 5
0
        public void 呼叫簽核狀態_預期得到開立()
        {
            var repository = new ApproveRepository();
            var adapter    = NSubstitute.Substitute.For <IApproveAdapter>();

            adapter.GetStatus().Returns("1");
            repository.Adapter = adapter;
            var status = repository.GetStatus();

            Assert.AreEqual("開立", status);
        }
Exemplo n.º 6
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");
         }
     }
 }
Exemplo n.º 7
0
        /// <summary>
        /// 保存审批信息,1:成功执行;2:成功执行并且是审批结束;3:同一节点已被同一角色下的其他人审批,不能再审批
        /// </summary>
        /// <param name="approveReturn"></param>
        /// <param name="tableName"></param>
        /// <param name="pkField"></param>
        /// <param name="pkValue"></param>
        /// <param name="approveMind"></param>
        /// <param name="approveLevel"></param>
        /// <param name="approveNode"></param>
        /// <param name="viewTitle"></param>
        /// <returns>1:成功执行;2:成功执行并且是审批结束;3:同一节点已被同一角色下的其他人审批,不能再审批</returns>
        protected int SaveApprove(IApproveEntry repApproveMaster, string approveReturn, string tableName, string pkField, string pkValue, string approveMind, string approveLevel, string approveNode, string viewTitle)
        {
            ApproveRepository rep = new ApproveRepository();

            rep.DbUpdate = repApproveMaster.DbUpdate;
            UserInfo sysUser = CacheInit.GetUserInfo(HttpContext);

            if (rep.CheckSameNodeOtherHasApprove(sysUser, tableName, pkField, pkValue, approveNode))
            {
                return(3);
            }
            if (DataConvert.ToString(approveReturn) == "true")
            {
                string createUser = rep.GetApplyUser(tableName, pkField, pkValue);
                //修改当前的那条审批记录
                rep.EditData(sysUser, viewTitle, tableName, pkField, pkValue, "R", approveMind, approveNode);

                //插入一条状态为再申请的审批记录
                Dictionary <string, object> objs = new Dictionary <string, object>();
                objs.Add("refId", pkValue);
                objs.Add("tableName", tableName);
                objs.Add("approver", createUser);
                objs.Add("isValid", "Y");
                objs.Add("approveState", "B");
                rep.AddData(objs, sysUser, viewTitle, tableName, pkField, pkValue, "B", true);
            }
            else
            {
                bool isEndNode = false;
                repApproveMaster.InitNextApproveTask(tableName, approveNode, approveLevel, sysUser.UserId, pkField, pkValue, viewTitle, ref isEndNode);
                rep.EditData(sysUser, viewTitle, tableName, pkField, pkValue, "P", approveMind, approveNode, isEndNode);
                if (isEndNode)
                {
                    return(2);
                }
            }
            return(1);
        }
Exemplo n.º 8
0
 public CommitmentBiz()
 {
     oApproveRepository    = new ApproveRepository();
     oCommitmentRepository = new CommitmentRepository();
 }