示例#1
0
        public async Task AddTwoBookingsTest()
        {
            Booking fristBooking;
            Booking secondBooking;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
                                                                 new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadCommitted
            }, TransactionScopeAsyncFlowOption.Enabled))
            {
                HotelBookingRepository repository = new HotelBookingRepository(_options);
                fristBooking = await repository.Add(1, 1, DateTime.Now.AddDays(6), 4);

                secondBooking = await repository.Add(1, 2, DateTime.Now.AddDays(8), 3);

                scope.Complete();
            }

            using (MyDbContext context = new MyDbContext(_options))
            {
                int bookingsCounter = context.Bookings.Where(booking => booking.BookingId == fristBooking.BookingId ||
                                                             booking.BookingId == secondBooking.BookingId).ToList().Count;

                Assert.AreEqual(2, bookingsCounter);
            }
        }
示例#2
0
        public async Task AddTwoBookingsSQLLiteTest()
        {
            using (MyDbContext context = new MyDbContext(_options))
            {
                HotelBookingRepository repository = new HotelBookingRepository(_options);
                Booking fristBooking = await repository.Add(1, 1, DateTime.Now.AddDays(6), 4);

                Booking secondBooking = await repository.Add(1, 2, DateTime.Now.AddDays(8), 3);

                int bookingsCounter = context.Bookings.Where(booking => booking.BookingId == fristBooking.BookingId ||
                                                             booking.BookingId == secondBooking.BookingId).ToList().Count;

                Assert.AreEqual(2, bookingsCounter);
            }
        }
示例#3
0
        public async Task <ActionResult> Post([FromBody] Booking booking)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Booking BookingDb = await repo.Add(booking);

            if (BookingDb != null)
            {
                return(Ok(BookingDb));
            }
            else
            {
                return(StatusCode(500));
            }
        }
        public ActionResult Create(HotelBookingVM hotelBookingVM)
        {
            this.CheckIfYouCanBookRoom(hotelBookingVM);

            if (ModelState.IsValid)
            {
                _hotelBookingRepository.Add(hotelBookingVM.ToModel());
                ChangeTamagotchiHotelRoom(hotelBookingVM);
                return(RedirectToAction("Index"));
            }

            var hotelRoomsWithOutBooking = this._hotelRoomRepository.GetAllHotelRoomsWhereBookingIsNull();

            ViewBag.HotelRoomId = new SelectList(hotelRoomsWithOutBooking, "HotelRoomId", "HotelRoomName", hotelBookingVM.HotelRoomId);

            var tamagotchi = this._tamagotchiRepository.GetAllTamagotchisALiveAndNoHotelRoom();

            ViewBag.TamagotchisIds = new MultiSelectList(tamagotchi, "TamagotchiId", "Name", hotelBookingVM.TamagotchisIds);

            return(View(hotelBookingVM));
        }