public void when_calling_BookRoom_with_specified_Id_returns_model()
        {
            Room room = new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            };

            List <DateTime> listDateTime = new List <DateTime>();

            listDateTime.Add(new DateTime(2019, 4, 9));
            listDateTime.Add(new DateTime(2019, 4, 10));
            listDateTime.Add(new DateTime(2019, 4, 11));
            listDateTime.Add(new DateTime(2019, 4, 12));


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

            mock.Setup(r => r.GetRoomById(It.IsAny <int>())).Returns(room);
            mock.Setup(r => r.GetDaysBookedRoom(It.IsAny <int>())).Returns(listDateTime);


            ClientController controller = new ClientController(mock.Object);

            ViewResult result = (ViewResult)(controller.BookRoom(1));

            BookRoomViewModel model = (BookRoomViewModel)result.Model;

            Assert.AreEqual(model.room, room);
            Assert.AreEqual(model.list.Count, listDateTime.Count);
        }
        public ActionResult BookRoom()
        {
            BookRoomViewModel vm = new BookRoomViewModel();

            vm.FromDate = DateTime.Now;
            vm.ToDate   = DateTime.Now.AddDays(1);
            return(View(vm));
        }
Esempio n. 3
0
        // Method to book a room.
        public ActionResult Room_Book()
        {
            BookRoomViewModel bookRoomViewModel = new BookRoomViewModel();

            bookRoomViewModel.hotels = hotelsrepo.Read();
            bookRoomViewModel.rooms  = roomrepo.Read();
            return(View("Room_Book", bookRoomViewModel));
        }
Esempio n. 4
0
 public BookRoomController(ApplicationDbContext db)
 {
     _db         = db;
     bookRoomRep = new BookRoomRep(_db);
     BookRoomVM  = new BookRoomViewModel()
     {
         Room = new List <Models.Rooms>()
     };
 }
        public async Task <IActionResult> Create([FromBody] BookRoomViewModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
                return(BadRequest(errors));
            }

            // add customer

            var foundCustomer = await _context.Customers.Where(item => item.Phone == model.Phone).FirstOrDefaultAsync();

            if (foundCustomer == null)
            {
                foundCustomer = new Customer
                {
                    Name      = model.FullName,
                    Phone     = model.Phone,
                    Email     = model.Email,
                    CreatedAt = DateTime.Now,
                    Avatar    = "/uploads/avatar-customer.jpg",
                    BookCount = 1
                };

                await _context.Customers.AddAsync(foundCustomer);

                await _context.SaveChangesAsync();
            }


            // add Book Room

            var bookRoom = new BookRoom
            {
                TypeRoomId     = model.TypeRoomId,
                CustomerId     = foundCustomer.Id,
                Status         = false,
                TimeBook       = (int)model.TimeBook,
                TimeCreated    = model.TimeCreated.HasValue ? model.TimeCreated.Value : DateTime.Now,
                CreatedAt      = DateTime.Now,
                BookRoomStatus = BookRoomStatus.Waiting
            };
            await _context.BookRooms.AddAsync(bookRoom);

            await _context.SaveChangesAsync();


            return(Ok(1));
        }
        public ActionResult GetQualifiedRooms(BookRoomViewModel model)
        {
            List <FetchedRoomViewModel> Rooms = new List <FetchedRoomViewModel>();

            if (ModelState.IsValid)
            {
                int CurMinPrice = model.MinPrice == null ? 0 : (int)model.MinPrice;
                int CurMaxPrice = model.MaxPrice == null ? int.MaxValue : (int)model.MaxPrice;

                if (model.MinPrice != null && model.MaxPrice != null && model.MinPrice > model.MaxPrice)
                {
                    CurMaxPrice    = (int)model.MinPrice;
                    CurMinPrice    = (int)model.MaxPrice;
                    model.MinPrice = CurMaxPrice;
                    model.MaxPrice = CurMinPrice;
                }
                IEnumerable <GetQualifiedRooms_Result> ResRooms = _context.GetQualifiedRooms(model.FromDate, model.ToDate, model.IsACEquipped, CurMinPrice, CurMaxPrice, model.RmType, model.NoOfBeds);
                if (model.IsACEquipped != null)
                {
                    ResRooms = ResRooms.Where(r => r.IsACEquipped == model.IsACEquipped);
                }
                if (model.RmType != null)
                {
                    ResRooms = ResRooms.Where(r => r.RmType == model.RmType);
                }
                if (model.NoOfBeds != null)
                {
                    ResRooms = ResRooms.Where(r => r.NoOfBeds == model.NoOfBeds);
                }
                foreach (var r in ResRooms)
                {
                    FetchedRoomViewModel RoomVM = new FetchedRoomViewModel
                    {
                        ID           = r.ID,
                        RoomNo       = r.RoomNo,
                        IsACEquipped = r.IsACEquipped ? "Yes" : "No",
                        Price        = r.Price,
                        RmType       = Enum.GetName(typeof(RoomType), r.RmType),
                        NoOfBeds     = Enum.GetName(typeof(BedNo), r.NoOfBeds),
                        TotalCost    = r.Price * ((int)((model.ToDate - model.FromDate).TotalDays))
                    };
                    Rooms.Add(RoomVM);
                }
            }

            model.Rooms = Rooms;

            return(View("BookRoom", model));
        }
        public ActionResult ReserveRoom(ReverveRoomModel model)
        {
            if (model.dateTo <= model.dateFrom)
            {
                ModelState.AddModelError("dateTo", "Date should be later than above");
            }

            if (model.dateFrom == null)
            {
                ModelState.AddModelError("dateFrom", "Pole nie moze być puste");
            }


            if (ModelState.IsValid)
            {
                //repository.BookHolidayHome(model.holidayhomeId, model.dateFrom, model.dateTo);

                CheckBookingModel modelbook = repository.bookroom(model.roomId, model.dateFrom, model.dateTo);
                ViewBag.checkbookingmodel = modelbook;

                return(RedirectToAction("ShowDetailsRoom", "Home", new { Id = model.roomId }));
            }
            else
            {
                Room            room       = repository.GetRoomById(model.roomId);
                List <DateTime> list       = repository.GetDaysBookedRoom(model.roomId);
                List <string>   liststring = new List <string>();

                foreach (var item in list)
                {
                    liststring.Add(item.ToShortDateString());
                }

                BookRoomViewModel viewmodel = new BookRoomViewModel();
                viewmodel.room = room;
                viewmodel.list = liststring;

                return(View("~/Views/Client/BookRoom.cshtml", viewmodel));



                //Room room = repository.GetRoomById(model.roomId);
                //return View("~/Views/Client/BookRoom.cshtml", room);
            }
        }
        public ActionResult BookRoom(int Id)
        {
            Room            model      = repository.GetRoomById(Id);
            List <DateTime> list       = repository.GetDaysBookedRoom(Id);
            List <string>   liststring = new List <string>();

            foreach (var item in list)
            {
                liststring.Add(item.ToShortDateString());
            }

            BookRoomViewModel viewmodel = new BookRoomViewModel();

            viewmodel.room = model;
            viewmodel.list = liststring;

            return(View(viewmodel));
        }
Esempio n. 9
0
        public async Task <IHttpActionResult> Post(BookRoomViewModel model)
        {
            if (!(await IsReserved(model.RoomId, model.FromDate, model.ToDate)))
            {
                db.Reservations.Add(new Reservation
                {
                    StartDate = model.FromDate,
                    EndDate   = model.ToDate,
                    DayCount  = (model.ToDate - model.FromDate).Days,
                    RoomId    = model.RoomId,
                    UserId    = model.HotelId
                });
                await db.SaveChangesAsync();

                return(Ok());
            }
            return(BadRequest("Invalid Date"));
        }
Esempio n. 10
0
        // GET: SelectedBooking/BookRoom
        public ActionResult BookRoom(string startDate, string endDate, int?id)
        {
            if (id != null & id > 0)
            {
                var model = new BookRoomViewModel {
                    Room = _roomGateway.Read(id.Value)
                };
                if (!startDate.IsNullOrWhiteSpace())
                {
                    model.StartDate = startDate;
                }
                if (!endDate.IsNullOrWhiteSpace())
                {
                    model.EndDate = endDate;
                }

                return(View(model));
            }
            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 11
0
        public BookRoomWindow(Guid roomid, out BookRoomViewModel viewModel, RoomStatePage page)
        {
            InitializeComponent();
            //viewmodel = new AddRoomViewModel(this);
            //this.DataContext = viewmodel;
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            this.roomid = roomid;
            this.normaltype.IsChecked = true;
            viewModel        = new BookRoomViewModel(this);
            this.DataContext = viewModel;
            this.fatherpage  = page;
            using (RetailContext context = new RetailContext())
            {
                string t    = roomid.ConvertGuid();
                Room   room = context.Database.SqlQuery <Room>(string.Format("SELECT * FROM Rooms WHERE UPPER(HEX([roomID]))='{0}'", t)).ToList()[0];
                this.thisroom = room;
            }
            this.roomname.Text    = thisroom.roomname;
            this.roomtype.Content = thisroom.roomtype;

            isclosetrans = 0;
        }
        public void when_calling_ReserveRoom_with_model_error_returns_BookRoomViewModel()
        {
            Room room = new Room()
            {
                Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1
            };

            List <DateTime> listDateTime = new List <DateTime>();

            listDateTime.Add(new DateTime(2019, 4, 9));
            listDateTime.Add(new DateTime(2019, 4, 10));
            listDateTime.Add(new DateTime(2019, 4, 11));
            listDateTime.Add(new DateTime(2019, 4, 12));



            ReverveRoomModel reservemodel = new ReverveRoomModel();

            reservemodel.dateFrom = new DateTime(2019, 4, 5);
            reservemodel.dateTo   = new DateTime(2019, 4, 2);
            reservemodel.roomId   = 3;



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

            mock.Setup(r => r.GetRoomById(It.IsAny <int>())).Returns(room);
            mock.Setup(r => r.GetDaysBookedRoom(It.IsAny <int>())).Returns(listDateTime);


            ClientController controller = new ClientController(mock.Object);
            ViewResult       result     = (ViewResult)(controller.ReserveRoom(reservemodel));

            Assert.AreEqual("~/Views/Client/BookRoom.cshtml", result.ViewName);
            BookRoomViewModel bookviewmodel = (BookRoomViewModel)result.Model;

            Assert.AreEqual(room, bookviewmodel.room);
        }
        private async void btnBook_Click(object sender, EventArgs e)
        {
            if ((fromDate.Value < toDate.Value) && (fromDate.Value >= DateTime.Now && toDate.Value >= DateTime.Now))
            {
                var model = new BookRoomViewModel
                {
                    FromDate = fromDate.Value,
                    ToDate   = toDate.Value,
                    HotelId  = UserId,
                    RoomId   = RoomId
                };
                var strObject = JsonConvert.SerializeObject(model);
                var result    = await client.PostAsync(url + "HotelReservations", new StringContent(strObject, Encoding.Default, "application/json"));

                if (result.IsSuccessStatusCode)
                {
                    MetroMessageBox.Show(this, "Reservation was successful", "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MetroMessageBox.Show(this, "Reservaton was not successful: " + result.ReasonPhrase, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }