public async Task <IActionResult> AddVacationRequest(int id, NewVacationRequestDTO newRequest) { if (await _userRepo.GetUser(id) == null) { return(Content("Brak usera o podanym id")); } if (newRequest.FromDate > newRequest.ToDate) { return(Content("Błędna data urlopu")); } var totalVacDays = (newRequest.ToDate - newRequest.FromDate).Days + 1; var daysLeft = await _userRepo.GetDaysLeft(id, newRequest.IdAbsence, totalVacDays); if (daysLeft < totalVacDays) { return(Content("Nie można udzielić urlopu. Brak dni do wybrania")); } await _userRepo.AddNewVacationRequest(id, newRequest); //var result = _mapper.Map<NewVacationRequestDTO>(req); return(Ok()); }
public async Task <Vacationrequest> AddNewVacationRequest(int userId, NewVacationRequestDTO request) { var user = await GetUser(userId); var newReq = new Vacationrequest { FromDate = request.FromDate, ToDate = request.ToDate, Reason = request.Reason, IdUserNavigation = user, IdAbsence = request.IdAbsence }; await _context.Vacationrequest.AddAsync(newReq); await _context.SaveChangesAsync(); return(newReq); }