Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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);
        }