public async Task <IActionResult> AddReservation(int userId, ReservationForAddDto reservationForAddDto)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var userFromRepo = await _repo.GetUser(userId);

            reservationForAddDto.Start = reservationForAddDto.Start.AddHours(1);
            reservationForAddDto.AddEndDate();
            reservationForAddDto.Title = userFromRepo.Name + ' ' + userFromRepo.Surname;
            var reservation = _mapper.Map <Reservation>(reservationForAddDto);

            if (await _repo.GoodTerm(reservation.Start) == false)
            {
                return(BadRequest("Wybrano zły termin.\nGabinet czynny od poniedziałku do piątku w godzinach 9-17"));
            }

            if (await _repo.FreeTerm(reservation.Start) == false)
            {
                return(BadRequest("Wybrany termin jest zarezerwowany"));
            }

            userFromRepo.Reservations.Add(reservation);


            if (await _repo.SaveAll())
            {
                var reservationToReturn = _mapper.Map <ReservationForDetailedDto>(reservation);
                return(CreatedAtRoute("GetReservation", new { id = reservation.Id }, reservationToReturn));
            }

            return(BadRequest("Nie można dodać wizyty"));
        }
示例#2
0
        public async Task <IActionResult> UpdateUser(int id, UserForUpdateDto userForUpdateDto)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var userFromRepo = await _repo.GetUser(id);

            _mapper.Map(userForUpdateDto, userFromRepo);

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            throw new Exception($"Updating user {id} failed on save");
        }
示例#3
0
        public async Task <IActionResult> AddVisit(int userId, VisitForAddDto visitForAddDto)
        {
            // if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            //     return Unauthorized();

            var userFromRepo = await _repo.GetUser(userId);

            var visit = _mapper.Map <Visit>(visitForAddDto);

            userFromRepo.Visits.Add(visit);
            userFromRepo.LastVisit = visit.VisitDate;



            if (await _repo.SaveAll())
            {
                var visitToReturn = _mapper.Map <VisitForDetailedDto>(visit);
                return(CreatedAtRoute("GetVisit", new { id = visit.Id }, visitToReturn));
            }

            return(BadRequest("Nie można dodać wizyty"));
        }