public async Task <IActionResult> OnPostRejectAsync() { string storeId = Request.Form["id-store"]; bool completeOk = bool.TryParse(Request.Form["checkbox-complete"], out bool completeCheck); bool stageOk = int.TryParse(Request.Form["next-stage"], out int stageId); if (!stageOk || !completeOk) { return(NotFound()); } WebAppUser webAppUser = await _userHandler.GetUserAsync(HttpContext.User); ApprovalHandler approvalHandler = new ApprovalHandler(_context, storeId); bool isFirstStage = await approvalHandler.IsFirstStageAsync(); bool isApprover = await approvalHandler.IsApproverAsync(webAppUser); if (!isApprover || isFirstStage) { return(NotFound()); } bool isOk = await approvalHandler.ActionReject(completeCheck, stageId, webAppUser); if (isOk) { await SendEmailReject(approvalHandler); } return(Ok()); }