public ActionResult TimeSheetApprovalNew(int idTimeSheet) { if (!Client.IsAnyTimeSheetWithThisId(idTimeSheet)) { return(RedirectToNotFoundPage("Запрашиваемый табель не обнаружен. Табель №" + idTimeSheet)); } ApproveViewBagInit(idTimeSheet); if (!Client.CanApprove(idTimeSheet, GetCurrentApprover())) { return(View()); } var approveStep = Client.GetTimeSheetApproveStep(idTimeSheet); var timeSheet = Client.GetTimeSheet(idTimeSheet, true); var currentApprover = GetCurrentApprover() .GetDepartmentApproverNumbers(timeSheet.Department.IdDepartment) .First(w => w.ApproveNumber == approveStep + 1); var timeSheetAprovalModel = new TimeSheetAprovalModel { IdTimeSheet = idTimeSheet, ApprovalDate = DateTime.Now, ApprovalResult = null, Comment = "", IdApprover = currentApprover.IdApprover }; return(View(timeSheetAprovalModel)); }
public ActionResult TimeSheetApprovalNew(TimeSheetAprovalModel timeSheetAprovalModel) { //валидация формы var appDominUrl = Url.Action("Index", null, null, Request.Url.Scheme); if (timeSheetAprovalModel.ApprovalResult != null && (bool)timeSheetAprovalModel.ApprovalResult == false & timeSheetAprovalModel.Comment == null) { ModelState.AddModelError("Причина не указана", "В случае отклонения табеля необходимо прокомментировать причину!"); } var idTimeSheet = timeSheetAprovalModel.IdTimeSheet; if (ModelState.IsValid && Client.CanApprove(idTimeSheet, GetCurrentApprover()) && Client.TimeSheetApproval(timeSheetAprovalModel.IdTimeSheet, GetCurrentApprover(), (bool)timeSheetAprovalModel.ApprovalResult, timeSheetAprovalModel.Comment, appDominUrl)) { return(RedirectToAction("TimeSheetApprovalNew", new { idTimeSheet = timeSheetAprovalModel.IdTimeSheet })); } ApproveViewBagInit(idTimeSheet); return(View(timeSheetAprovalModel)); }