Example #1
0
        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)));
            }
        }