public async Task <IActionResult> Review(int requisitionId) { var requisition = await _dbContext.Requisitions.GetRequisitionById(requisitionId); if (ModelState.IsValid) { if ((await _authorizationService.AuthorizeAsync(User, requisition, Policies.Accept)).Succeeded) { try { await _requisitionService.Review(requisition, User.GetUserId(), User.TryGetImpersonatorId()); } catch (InvalidOperationException ex) { _logger.LogError("Failed to review 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("View", "Order", new { id = requisition.Request.OrderId, tab = "requisition" })); }