public async Task <IActionResult> Comment(CommentRequisitionModel model) { if (ModelState.IsValid) { var requisition = await _dbContext.Requisitions.GetRequisitionById(model.RequisitionId); if ((await _authorizationService.AuthorizeAsync(User, requisition, Policies.Accept)).Succeeded) { try { await _requisitionService.Comment(requisition, User.GetUserId(), User.TryGetImpersonatorId(), model.CustomerComment); } catch (InvalidOperationException ex) { _logger.LogError("Failed to comment requisition, RequisitionId: {requisition.RequisitionId}, message {Message}", requisition.RequisitionId, ex.Message); return(RedirectToAction("View", "Order", new { id = requisition.Request.OrderId, errormessage = ex.Message })); } return(RedirectToAction("View", "Order", new { id = requisition.Request.OrderId, tab = "requisition" })); } return(Forbid()); } return(RedirectToAction(nameof(View), new { id = model.RequisitionId })); }