public override void MakeLeaveDayRequest(DayStatus dayStatus) { var leaveDay = new LeaveDay(dayStatus, this); History.Add(leaveDay.DeepClone()); Approver.Approve(leaveDay); }
public object approve_flowcase(ApproveModel model) { Singleton <ILogWritter> .Instance?.WriteLog("WorkFlow-approve_flowcase", JsonConvert.SerializeObject(model)); Approver approver = new Approver(Entities, User.Identity.Name); try { ReturnApproveResult result = approver.Approve(model.flowCaseId, model.nextApprovers); if (result.Result == ApproveResult.Approved || result.Result == ApproveResult.FlowApproved) { approver.NotificationSender.Send(); return(new { ret_code = RetCode.Success, ret_msg = string.Empty }); } return(new { ret_code = RetCode.Failure, ret_msg = result.ToString() }); } catch (Exception ex) { return(new { ret_code = RetCode.Failure, ret_msg = ex.Message }); } }
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))); }