public async Task <ActionResult> ApproveRequest(int id) { try { var request = await _requestRepo.FindById(id); var user = await _userManager.GetUserAsync(User); var allocation = await _allocationRepo.GetAllocationsByEmployeeAndType(request.RequestingEmployeeId, request.LeaveTypeId); request.Approved = true; request.ApprovedById = user.Id; //request.ApprovedBy.FirstName = user.FirstName; //request.ApprovedBy.LastName = user.LastName; request.DateActioned = DateTime.Now; int daysRequested = (int)(request.EndDate - request.StartDate).TotalDays; allocation.NumberOfDays -= daysRequested; await _requestRepo.Update(request); await _allocationRepo.Update(allocation); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(RedirectToAction(nameof(Index))); } }