Ejemplo n.º 1
0
        public object get_next_approvers(int flowCaseId)
        {
            Approver     approver   = new Approver(Entities, User.Identity.Name);
            int          curGroupId = approver.GetCurrentStepGroupId(flowCaseId);
            NextStepData nsd        = approver.GetNextStepApprovers(flowCaseId, curGroupId);

            if (nsd.EmployeeList == null)
            {
                return(null);
            }
            return(new { data = nsd.EmployeeList.Select(p => p.Select(q => q)) });
        }
Ejemplo n.º 2
0
        public ActionResult Approve(int flowCaseId, string[] nextApprover)
        {
            Approver manager = new Approver(WFEntities, this.Username);

            if (nextApprover == null || nextApprover.Length == 0)
            {
                int          curGroupId = manager.GetCurrentStepGroupId(flowCaseId);
                NextStepData nsd        = manager.GetNextStepApprovers(flowCaseId, curGroupId);
                if (nsd.EmployeeList.Count > 0)
                {
                    ViewBag.flowCaseId = flowCaseId;
                    return(View("SelectNextApprover", "~/Views/Shared/_ModalLayout.cshtml", nsd.EmployeeList));
                }
            }
            ReturnApproveResult returnValue = manager.Approve(flowCaseId, nextApprover);

            manager.NotificationSender.Send();
            ViewBag.nextStepUsers = returnValue.NextApprovers;
            ViewBag.approveResult = returnValue.Result;
            ViewBag.InboxCount    = manager.CountInbox();
            return(PartialView("Result", manager.GetFlowAndCase(flowCaseId)));
        }