예제 #1
0
        public ActionResult SearchUpdateHall(string sortOrder, string currentFilter, string searchString, int?page,
                                             DateTime startTime, DateTime endTime, int reservationId)
        {
            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = string.IsNullOrEmpty(sortOrder) ? "name_desc" : "";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            var buildings = _buildingManager.Buildings();

            if (!string.IsNullOrEmpty(searchString))
            {
                buildings = buildings.Where(s => s.Name.ToLower().Contains(searchString.ToLower()));
            }


            switch (sortOrder)
            {
            case "name_desc":
                buildings = buildings.OrderByDescending(s => s.Name);
                break;

            default:
                buildings = buildings.OrderBy(s => s.Name);
                break;
            }

            const int pageSize   = 10;
            var       pageNumber = (page ?? 1);

            var model = new ReservationHallsModel
            {
                Buildings     = buildings.AsQueryable().ToPagedList(pageNumber, pageSize),
                EndTime       = endTime,
                StartTime     = startTime,
                ReservationId = reservationId
            };

            return(View(model));
        }
        public void ConfirmationPostMethodReturnsModel()
        {
            //Arrange
            var reservation = new ReservationHallsModel()
            {
                EndTime   = DateTime.Now.AddDays(2).AddHours(2),
                StartTime = DateTime.Now.AddDays(2),
                EventId   = 1,
                HallId    = 1,
            };


            var buildingMockManager = new Mock <IBuildingManager>();
            var hallMockManager     = new Mock <IHallManager>();

            hallMockManager.Setup(h => h.GetHallReservation(1))
            .Returns(new Hall {
                Available = true, Building = new Building {
                    BuildingId = 2
                }
            });
            buildingMockManager.Setup(b => b.GetBuilding(2)).Returns(new Building()
            {
                BuildingId = 2
            });

            var mockManager = new Mock <ISportEventManager>();

            mockManager.Setup(m => m.ViewSportEvent(1))
            .Returns(new SportEvent {
                SportEventId = 1, Description = "Voetbaltoernooi"
            });

            var controller =
                new ReservationController(mockManager.Object, hallMockManager.Object, buildingMockManager.Object);

            //Act
            var result = controller.Confirmation(reservation) as ViewResult;
            var model  = result.Model as Reservation;

            //Assert
            Assert.IsType(typeof(ViewResult), result);

            Assert.IsAssignableFrom <Reservation>(
                result.ViewData.Model);
            Assert.Equal(model.SportEventId, 1);
        }
예제 #3
0
        public ActionResult Confirmation(ReservationHallsModel model)
        {
            var hall = _hallManager.GetHallReservation(model.HallId);

            hall.Building = _buildingManager.GetBuilding(hall.BuildingId);
            var sportevent = _sportEventManager.ViewSportEvent(model.EventId);

            var reservation = new Reservation
            {
                StartTime    = model.StartTime,
                TimeFinish   = model.EndTime,
                SportEventId = model.EventId,
                SportEvent   = sportevent,
                Hall         = hall,
                HallId       = model.HallId
            };

            return(View(reservation));
        }
예제 #4
0
        public IActionResult UpdateReservationHall(ReservationHallsModel model)
        {
            var hall = _hallManager.GetHallReservation(model.HallId);

            hall.Building = _buildingManager.GetBuilding(hall.BuildingId);

            var reservation = _sportEventManager.GetReservation(model.ReservationId);

            reservation.StartTime  = model.StartTime;
            reservation.TimeFinish = model.EndTime;
            reservation.HallId     = model.HallId;
            reservation.Hall       = hall;


            var filledreservation = new ReservationModel
            {
                Reservation = reservation,
                SportEvents = _sportEventManager.ViewAllSportEvents()
            };

            return(View("UpdateReservation", filledreservation));
        }
        public void UpdateReservationHallActionReturnsFilledReservation()
        {
            //arrange
            var buildingMockManager = new Mock <IBuildingManager>();
            var hallMockManager     = new Mock <IHallManager>();
            var mockManager         = new Mock <ISportEventManager>();

            var controller =
                new ReservationController(mockManager.Object, hallMockManager.Object, buildingMockManager.Object);

            var model = new ReservationHallsModel
            {
                HallId        = 1,
                EndTime       = Reservations().First().TimeFinish,
                StartTime     = Reservations().First().StartTime,
                ReservationId = Reservations().First().ReservationId
            };

            mockManager.Setup(x => x.GetReservation(model.ReservationId)).Returns(Reservations().First());
            hallMockManager.Setup(x => x.GetHallReservation(1)).Returns(new Hall {
                HallId = 1, BuildingId = 2
            });
            buildingMockManager.Setup(x => x.GetBuilding(2)).Returns(new Building {
                BuildingId = 2
            });
            //act
            var result = controller.UpdateReservationHall(model);


            //assert
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.IsAssignableFrom <ReservationModel>(
                viewResult.ViewData.Model);
            Assert.Equal(viewResult.ViewName, "UpdateReservation");
        }