示例#1
0
        public async Task <IActionResult> GetUser(int id)
        {
            var user = await _repo.GetUser(id);

            var userToReturn = _mapper.Map <UserForDetailedDto>(user);

            return(Ok(userToReturn));
        }
        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"));
        }
示例#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"));
        }