public ActionResult ApproveRequest(int id) { try { var user = _userManager.GetUserAsync(User).Result; var leaveRequest = _leaveRequestrepo.FindById(id); var employeeid = leaveRequest.RequestingEmployeeId; var leavetypeid = leaveRequest.LeaveTypeId; var allocation = _leavAllocationrepo.GetLeaveAllocationsByEmployeeandType(employeeid, leavetypeid); leaveRequest.Approved = true; leaveRequest.ApprovedById = user.Id; leaveRequest.DateRequested = DateTime.Now; int daysRequested = (int)(leaveRequest.EndDate - leaveRequest.StartDate).TotalDays; allocation.NumberOfDays = allocation.NumberOfDays - daysRequested; leaveRequest.Approved = true; leaveRequest.ApprovedById = user.Id; // leaveRequest.DateActioned = DateTime.Now; _leaveRequestrepo.Update(leaveRequest); _leavAllocationrepo.Update(allocation); var isSucess = _leaveRequestrepo.Update(leaveRequest); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(RedirectToAction(nameof(Index))); } }