public ActionResult ShowDocument(Guid id, string approveDoc, string rejectDoc, IDictionary <string, object> documentData, string lastComment = "") { DocumentTable docuTable = _DocumentService.Find(id); if (docuTable == null) { return(HttpNotFound()); } if (lastComment != "") { _CommentService.SaveDomain(new CommentTable { Comment = lastComment, DocumentTableId = id }); } if (rejectDoc != String.Empty) { ApplicationUser userTable = _AccountService.FirstOrDefault(x => x.UserName == User.Identity.Name); if (userTable == null) { return(HttpNotFound()); } DateTime checkRejectDate = DateTime.UtcNow.AddMinutes(-5); if (!_CommentService.Contains(x => x.ApplicationUserCreatedId == userTable.Id && x.DocumentTableId == id && x.CreatedDate >= checkRejectDate)) { EmplTable emplTable = _EmplService.FirstOrDefault(x => x.ApplicationUserId == docuTable.ApplicationUserCreatedId); ProcessView process = _ProcessService.FindView(docuTable.ProcessTableId); object viewModel = InitialViewShowDocument(id, process, docuTable, userTable, emplTable); ModelState.AddModelError(string.Empty, UIElementRes.UIElement.RejectReason); return(View("~/Views/Document/ShowDocument.cshtml", viewModel)); } } ProcessTable processTable = docuTable.ProcessTable; if (_DocumentService.isSignDocument(id, processTable.Id)) { if (approveDoc != String.Empty) { _WorkflowService.AgreementWorkflowApprove(id, processTable.TableName, documentData); } else if (rejectDoc != String.Empty) { _WorkflowService.AgreementWorkflowReject(id, processTable.TableName, documentData); } } return(RedirectToAction("Index", "Home")); }