Пример #1
0
        public ActionResult ShowAvailableRoomsHolidayHomes(List <Room> rooms = null, List <HolidayHome> holidayhomes = null)
        {
            SearchModelView viewmodel = new SearchModelView();

            viewmodel.holidayhomes = holidayhomes != null ? holidayhomes : new List <HolidayHome>();
            viewmodel.rooms        = rooms != null ? rooms : new List <Room>();

            return(View("FiltrRoomAndHolidayHome", viewmodel));
        }
      public ActionResult Search()
      {
          SearchModelView search = new SearchModelView();
          SelectListItem  list   = new SelectListItem();

          list.Value = "Địa điểm";
          list.Text  = "Địa điểm";
          List <SelectListItem> listCate = new List <SelectListItem>();

          listCate.Add(list);
          listCate.AddRange(_productCategory.GetProductCategories().ToSelectListItems(-1, 1));
          ViewBag.categoryList = listCate;
          return(PartialView("Search", search));
      }
Пример #3
0
        public ActionResult FiltrRoomAndHolidayHomeSecond(string country, string city, Choose choose, int guestnumber = 0, int bednumber = 0, DateTime?bookfrom = null, DateTime?bookto = null, List <HolidayHome> holidayhomes = null, List <Room> rooms = null)
        {
            List <Room> r = rooms;

            if (string.IsNullOrEmpty(country))
            {
                ModelState.AddModelError("country", "Country is Required");
            }

            if (string.IsNullOrEmpty(city))
            {
                ModelState.AddModelError("city", "City is Required");
            }


            if (bookfrom > bookto)
            {
                ModelState.AddModelError("bookfrom", "Book From is Later than Book To");
            }

            if (bookfrom == bookto && bookto != null)
            {
                ModelState.AddModelError("bookfrom", "Book From is equal Book To");
            }


            if (bookfrom <= DateTime.Now)
            {
                ModelState.AddModelError("bookfrom", "Book From should be later than today");
            }

            if (bookto <= DateTime.Now)
            {
                ModelState.AddModelError("bookto", "Book to should be later than today");
            }

            if (!ModelState.IsValid)
            {
                SearchModelView viewModel = new SearchModelView();
                if (holidayhomes == null)
                {
                    holidayhomes = new List <HolidayHome>();
                }
                if (rooms == null)
                {
                    rooms = new List <Room>();
                }
                viewModel.holidayhomes = holidayhomes;
                viewModel.rooms        = rooms;


                return(View("FiltrRoomAndHolidayHome", viewModel));
            }



            IFiltrFactory        factory    = filtrfactory;
            FiltrRoomHolidayHome filtrclass = factory.CreateObject(choose);

            filtrclass.Country = country;
            filtrclass.City    = city;

            filtrclass.GuestNumber = guestnumber;
            filtrclass.BedNumber   = bednumber;
            filtrclass.BookFrom    = bookfrom == null ? DateTime.MinValue : (DateTime)bookfrom;
            filtrclass.BookTo      = bookto == null ? DateTime.MinValue : (DateTime)bookto;


            filtrclass.Filtr();


            SearchModelView viewmodel = new SearchModelView();

            viewmodel.holidayhomes = filtrclass.HolidayHomes;
            viewmodel.rooms        = filtrclass.Rooms;

            return(View("FiltrRoomAndHolidayHome", viewmodel));
        }
        public void when_model_is_valid_FiltrRoomAndHolidayHomeSecond_returns_model_room_and_holidayhomes_count_more_than_0()
        {
            List <Room> roomList = new List <Room>();

            roomList.Add(new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 2, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 300, numberofGuests = 3, numberofBeds = 3, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2
            });
            roomList.Add(new Room()
            {
                Price = 300, numberofGuests = 3, numberofBeds = 2, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2
            });



            List <HolidayHome> homesList = new List <HolidayHome>();

            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 1, Price = 200, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 7, Price = 200, numberofGuests = 1, numberofBeds = 2, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 8, Price = 300, numberofGuests = 1, numberofBeds = 2, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 2, Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 3, Price = 400, numberofGuests = 4, numberofBeds = 4, doubleBed = false, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 4, Price = 400, numberofGuests = 6, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 5, Price = 800, numberofGuests = 10, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });
            homesList.Add(new HolidayHome()
            {
                HolidayHomeId = 6, Price = 800, numberofGuests = 10, numberofBeds = 10, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });



            List <Resort> resortList = new List <Resort>();

            resortList.Add(new Resort()
            {
                Name = "Resort Władysławowo", City = "Władysławowo", Country = "Poland", TelephoneNumber = 794219756
            });
            resortList.Add(new Resort()
            {
                Name = "Resort Sopot", City = "Sopot", Country = "Poland", TelephoneNumber = 794219755
            });
            resortList.Add(new Resort()
            {
                Name = "Resort Gdańsk1", City = "Gdańsk", Country = "Poland", TelephoneNumber = 794219754
            });
            resortList.Add(new Resort()
            {
                Name = "Resort Gdańsk2", City = "Gdańsk", Country = "Poland", TelephoneNumber = 794219754
            });
            resortList.Add(new Resort()
            {
                Name = "Resort Gdańsk3", City = "Gdańsk", Country = "Poland", TelephoneNumber = 794219754
            });


            foreach (var resort in resortList)
            {
                foreach (var hh in homesList)
                {
                    resort.HolidayHomes.Add(hh);
                }
            }



            List <Hotel> hotelList = new List <Hotel>();

            hotelList.Add(new Hotel()
            {
                Name = "Hotel Kraków", City = "Kraków", Country = "Poland", TelephoneNumber = 777888666
            });
            hotelList.Add(new Hotel()
            {
                Name = "Hotel Warszawa", City = "Warszawa", Country = "Poland", TelephoneNumber = 777888555
            });
            hotelList.Add(new Hotel()
            {
                Name = "Hotel Katowice", City = "Katowice", Country = "Poland", TelephoneNumber = 777888444
            });



            Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>();

            mock.Setup(x => x.GetUserById(It.IsAny <string>())).Returns(new ApplicationUser()
            {
                UserName = "******", Id = "aaa-bbb-ccc"
            });
            mock.Setup(x => x.GetListHHByCountryAndCity(It.IsAny <string>(), It.IsAny <string>())).Returns(homesList);

            List <Hotel> listHotel = new List <Hotel>()
            {
                new Hotel()
                {
                    Name = "Hotel Kraków", City = "Kraków", Country = "Poland", TelephoneNumber = 777888666
                }
            };

            Mock <IFiltrFactory> mockfactory = new Mock <IFiltrFactory>();

            mockfactory.Setup(f => f.CreateObject(It.IsAny <Choose>())).Returns(new FiltrClassHolidayHome(mock.Object));

            Mock <FiltrResortHotel> mockAbstract2 = new Mock <FiltrResortHotel>();
            //mockAbstract2.Setup(x => x.Hotels).Returns(listHotel);



            Mock <FiltrRoomHolidayHome> mockAbstract = new Mock <FiltrRoomHolidayHome>();
            //mockAbstract.Setup(x => x.HolidayHomes).Returns(homesList);

            //mock.Setup(x => x.GetHotelByID(It.IsAny<int>())).Returns(new Hotel() { Name = "Hotel Kraków", City = "Kraków", Country = "Poland", TelephoneNumber = 777888666 });
            //mock.Setup(x => x.GetResortByID(It.IsAny<int>())).Returns(new Resort() { Name = "Resort Władysławowo", City = "Władysławowo", Country = "Poland", TelephoneNumber = 794219756 });
            //mock.Setup(x => x.AddComment(null, It.IsAny<Hotel>(), It.IsAny<ApplicationUser>(), It.IsAny<string>())).Returns(true);
            HomeController controller = new HomeController(mock.Object, () => "aaa-bbb-ddd", mockAbstract2.Object, mockfactory.Object, mockAbstract.Object);



            ViewResult result = ((ViewResult)controller.FiltrRoomAndHolidayHomeSecond("Poland", "Kraków", Choose.HolidayHome, 1, 2, new DateTime(2019, 8, 25), new DateTime(2019, 8, 26), homesList, roomList));

            SearchModelView viewModel = (SearchModelView)result.Model;


            Assert.AreEqual(viewModel.holidayhomes.Count, 2);
            Assert.AreEqual(viewModel.rooms.Count, 0);
        }
        public void when_room_list_is_null_FiltrRoomAndHolidayHomeSecond_returns_model_room_list_count_0()
        {
            //List<Room> roomList = new List<Room>();
            //roomList.Add(new Room() { Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1 });
            //roomList.Add(new Room() { Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1 });
            //roomList.Add(new Room() { Price = 200, numberofGuests = 2, numberofBeds = 2, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1 });
            //roomList.Add(new Room() { Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 1 });
            //roomList.Add(new Room() { Price = 300, numberofGuests = 3, numberofBeds = 3, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2 });
            //roomList.Add(new Room() { Price = 300, numberofGuests = 3, numberofBeds = 2, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2 });



            List <HolidayHome> homesList = new List <HolidayHome>();

            homesList.Add(new HolidayHome()
            {
                Price = 200, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 400, numberofGuests = 4, numberofBeds = 4, doubleBed = false, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 400, numberofGuests = 6, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 800, numberofGuests = 10, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });
            homesList.Add(new HolidayHome()
            {
                Price = 800, numberofGuests = 10, numberofBeds = 10, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });



            Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>();

            mock.Setup(x => x.GetUserById(It.IsAny <string>())).Returns(new ApplicationUser()
            {
                UserName = "******", Id = "aaa-bbb-ccc"
            });

            List <Hotel> listHotel = new List <Hotel>()
            {
                new Hotel()
                {
                    Name = "Hotel Kraków", City = "Kraków", Country = "Poland", TelephoneNumber = 777888666
                }
            };

            Mock <FiltrResortHotel> mockAbstract = new Mock <FiltrResortHotel>();

            mockAbstract.Setup(x => x.Hotels).Returns(listHotel);

            //mock.Setup(x => x.GetHotelByID(It.IsAny<int>())).Returns(new Hotel() { Name = "Hotel Kraków", City = "Kraków", Country = "Poland", TelephoneNumber = 777888666 });
            //mock.Setup(x => x.GetResortByID(It.IsAny<int>())).Returns(new Resort() { Name = "Resort Władysławowo", City = "Władysławowo", Country = "Poland", TelephoneNumber = 794219756 });
            //mock.Setup(x => x.AddComment(null, It.IsAny<Hotel>(), It.IsAny<ApplicationUser>(), It.IsAny<string>())).Returns(true);
            HomeController controller = new HomeController(mock.Object, () => "aaa-bbb-ddd", mockAbstract.Object);



            ViewResult result = ((ViewResult)controller.FiltrRoomAndHolidayHomeSecond("Poland", "Kraków", Choose.HolidayHome, 1, 2, new DateTime(2019, 8, 25), new DateTime(2019, 8, 25), homesList));

            SearchModelView viewModel = (SearchModelView)result.Model;


            Assert.AreEqual(viewModel.holidayhomes.Count, 6);
            Assert.AreEqual(viewModel.rooms.Count, 0);
        }
        public void when_calling_ShowAvailableRoomsHolidayHome_returns_SearchModelView()
        {
            Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>();

            HomeController controller = new HomeController(mock.Object);


            List <Room> roomList = new List <Room>();

            roomList.Add(new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 2, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 1
            });
            roomList.Add(new Room()
            {
                Price = 300, numberofGuests = 3, numberofBeds = 3, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2
            });
            roomList.Add(new Room()
            {
                Price = 300, numberofGuests = 3, numberofBeds = 2, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2
            });


            List <HolidayHome> homesList = new List <HolidayHome>();

            homesList.Add(new HolidayHome()
            {
                Price = 200, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 200, numberofGuests = 2, numberofBeds = 1, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 1, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 400, numberofGuests = 4, numberofBeds = 4, doubleBed = false, petsAllowed = true, Toilet = false, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 400, numberofGuests = 6, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 2, numberofFloors = 1
            });
            homesList.Add(new HolidayHome()
            {
                Price = 800, numberofGuests = 10, numberofBeds = 5, doubleBed = true, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });
            homesList.Add(new HolidayHome()
            {
                Price = 800, numberofGuests = 10, numberofBeds = 10, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = true, numberofTelevisions = 3, numberofFloors = 2
            });



            SearchModelView model = new SearchModelView();

            model.holidayhomes = homesList;
            model.rooms        = roomList;



            SearchModelView result = (SearchModelView)((ViewResult)controller.ShowAvailableRoomsHolidayHomes(roomList, homesList)).Model;

            Assert.AreEqual(result.holidayhomes, model.holidayhomes);
            Assert.AreEqual(result.rooms, model.rooms);
        }