/// <summary>
        /// Return the reservation view with all reservations made by the current logged in user.
        /// </summary>
        /// <returns></returns>
        public IActionResult Reserve()
        {
            var models = _reservationService.Get();

            var reservations = new List <ReservationModel>();

            reservations.AddRange(models.Select(model => new ReservationModel  {
                UserId = model.UserId, ReservationId = model.Id, ArriveDate = model.ArriveDate.ToLocalTime(), DepartureDate = model.DepartureDate.ToLocalTime(), EmailAddress = model.EmailAddress, PhoneNumber = model.PhoneNumber
            }));

            return(View(reservations));
        }
        public IActionResult Panel()
        {
            var currentUserReservation = _reservationService.Get().OrderByDescending(x => x.ArriveDate)
                                         .FirstOrDefault(x => x.UserId == User.FindFirstValue(ClaimTypes.UserData));

            var model = new PanelModel
            {
                Reservations = _reservationService.Get().Count(x => x.DepartureDate.ToLocalTime() > DateTime.UtcNow),
            };

            if (_complaintsService.Get().Any())
            {
                model.Complaints = new List <ComplaintsModel>();
                foreach (var complaint in _complaintsService.Get())
                {
                    model.Complaints.Add(new ComplaintsModel
                    {
                        DateOfCreation = complaint.DateOfCreation.ToLocalTime(),
                        Department     = Enum.Parse <Departments>(complaint.Department),
                        Priority       = Enum.Parse <Priority>(complaint.Priority),
                        Description    = complaint.Description,
                        Title          = complaint.Title,
                        EmailAddress   = complaint.EmailAddress,
                        State          = complaint.State,
                        UserId         = complaint.UserId,
                        Id             = complaint.Id
                    });
                }
            }

            if (currentUserReservation != null)
            {
                model.CurrentUserReservationModel = new ReservationModel
                {
                    ArriveDate    = currentUserReservation.ArriveDate,
                    DepartureDate = currentUserReservation.DepartureDate,
                    EmailAddress  = currentUserReservation.EmailAddress,
                    PhoneNumber   = currentUserReservation.PhoneNumber
                };
            }

            return(View(model));
        }
        public void ReservationGetTest()
        {
            int id = 1;

            var reservations = DataForTests.Reservations;
            EFWorkUnitMock.Setup(x => x.Reservations.Get(id)).Returns(reservations[id - 1]);

            var reservationService = new ReservationService(EFWorkUnitMock.Object);
            var result = reservationService.Get(id);
            var expected = toDTOMapper.Map<Reservation, ReservationDTO>(reservations[id - 1]);

            Assert.AreEqual(expected, result);
        }
 public ActionResult <List <Reservation> > Get()
 {
     return(_reservationService.Get());
 }
Esempio n. 5
0
        public void ReservationGetTest()
        {
            int id = 2;

            var reservation = DataForTests.Reservations[id - 1];
            var toDTO       = new MapperConfiguration(
                cfg =>
            {
                cfg.CreateMap <Reservation, ReservationDTO>().ReverseMap();
                cfg.CreateMap <Room, RoomDTO>().ReverseMap();
                cfg.CreateMap <PriceCategory, PriceCategoryDTO>().ReverseMap();
                cfg.CreateMap <Category, CategoryDTO>().ReverseMap();
                cfg.CreateMap <Client, ClientDTO>().ReverseMap();
            }).CreateMapper();
            var reservationDTO = toDTO.Map <Reservation, ReservationDTO>(reservation);

            EFWorkUnitMock.Setup(x => x.Reservations.Get(id)).Returns(reservation);
            ReservationServiceMock.Setup(a => a.Get(id)).Returns(reservationDTO);

            var reservationService           = new ReservationService(EFWorkUnitMock.Object);
            ReservationController controller = new ReservationController(ReservationServiceMock.Object);

            var httpResponse          = controller.Get(httpRequest, id);
            var result                = httpResponse.Content.ReadAsAsync <ReservationModel>();
            ReservationModel expected = mapper.Map <ReservationDTO, ReservationModel>(reservationService.Get(id));

            Assert.AreEqual(expected, result.Result);
        }
 public ActionResult <List <Reservation> > Get() => _reservationService.Get();