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    = _leaveAllocRepo.GetLeaveAllocationsByEmployeeAndType(employeeid, leaveTypeId);
                int daysRequested = (int)(leaveRequest.EndDate - leaveRequest.StartDate).TotalDays;
                //allocation.NumberOfDays -= daysRequested;
                allocation.NumberOfDays = allocation.NumberOfDays - daysRequested;

                leaveRequest.Approved     = true;
                leaveRequest.ApprovedByID = user.Id;
                leaveRequest.DateActioned = DateTime.Now;

                _leaveRequestRepo.Update(leaveRequest);
                _leaveAllocRepo.Update(allocation);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(RedirectToAction(nameof(Index)));
            }
        }