public async Task <IActionResult> Cancel() { var userName = User.Identity.Name; if (userName == null) { return(Unauthorized(ErrorEnum.NoUserLogIn)); } var user = await userManager.FindByNameAsync(userName); Debug.Assert(user != null); var userId = user.Id; var lastRequest = await GetLastRequestAsync(userId); if (lastRequest == null || lastRequest.Status != DriveRequest.RequestStatus.Open) { return(NotFound(ErrorEnum.InvalidRequestCancellation)); } if (!await driveService.CancelRequestAsync(lastRequest.Id)) { return(NotFound()); } lastRequest.Status = DriveRequest.RequestStatus.Cancelled; requestsRepository.Update(lastRequest); await requestsRepository.ApplyChangesAsync(); return(Ok()); }