public IActionResult Update(RequestsUpdateVM VM) { if (VM.selectedRequests == null || VM.selectedRequests.Count == 0) { return(RedirectToAction(nameof(Index))); } requestsService.ProcessUpdate(VM); return(RedirectToAction(nameof(Index))); }
public void ProcessUpdate(RequestsUpdateVM VM) { foreach (var requestId in VM.selectedRequests) { var updatedRequest = requestsAPIService.GetRequest(requestId); if (updatedRequest.Status != Model.DTO.RequestStatus.Pending) { continue; } int UserId = updatedRequest.UserId; if (VM.Action == "Approve") { if (updatedRequest.RequestType == Model.DTO.RequestType.TimeSheet) { ApproveTimeSheetRequest(updatedRequest, UserId); } else if (updatedRequest.RequestType == Model.DTO.RequestType.Vacation) { ApproveVacationRequest(updatedRequest, UserId); } else if (updatedRequest.RequestType == Model.DTO.RequestType.TimeConsumption) { ApproveTimeConsumptionRequest(updatedRequest, UserId); } updatedRequest.Status = Model.DTO.RequestStatus.Approved; } else if (VM.Action == "Decline") { updatedRequest.Status = Model.DTO.RequestStatus.Declined; } var mappedEntry = mapper.Map <RequestInsertRequest>(updatedRequest); requestsAPIService.PutRequest(requestId, mappedEntry); } }