Example #1
0
        public static async Task <Booking> CreateBookingWithTwoSpotsInSameMarina()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    IPDFService <Booking> pDFService     = new BookingPDFService();
                    IBookingService       bookingService = new BookingService(context, null, null, pDFService, null);
                    BoatOwner             boatOwner      = context.BoatOwners.Where(b => b.BoatOwnerId == 1).FirstOrDefault();
                    Boat boat  = context.Boats.Where(b => b.BoatId == 1).FirstOrDefault();
                    Spot spot1 = context.Spots.Where(s => s.MarinaId == 1 && s.SpotNumber == 1).FirstOrDefault();
                    Spot spot2 = context.Spots.Where(s => s.MarinaId == 1 && s.SpotNumber == 2).FirstOrDefault();

                    Booking booking = new Booking {
                        Boat = boat
                    };
                    await bookingService.Create(booking);

                    booking = bookingService.CreateBookingLine(booking, DateTime.Now, DateTime.Now.AddDays(1), spot1);
                    booking = bookingService.CreateBookingLine(booking, DateTime.Now.AddDays(1), DateTime.Now.AddDays(2), spot2);

                    await bookingService.SaveBooking(booking);

                    return(booking);
                }
            }
        }