private void SeedData(CarRentalUnitOfWork context)
        {
            var user = new User
            {
                Name  = new Name("Testor", "User"),
                Email = "*****@*****.**"
            };

            user.ChangeCurrentIdentity(Guid.NewGuid().ToString());

            context.Set <User>().Add(user);
            context.SaveChanges();

            DateTime from = DateTime.Now;

            from = from.AddDays(2);
            DateTime to = DateTime.Now;

            to = to.AddDays(5);

            var booking = new Booking()
            {
                From = from,
                To   = to
            };

            booking.SetTheAvailableCarReference(1);
            booking.SetTheUserForThisBooking(user);
            context.Bookings.Add(booking);

            from = DateTime.Now;
            from = from.AddDays(3);
            to   = DateTime.Now;
            to   = to.AddDays(4);

            booking = new Booking()
            {
                From = from,
                To   = to
            };
            booking.SetTheAvailableCarReference(1);
            booking.SetTheUserForThisBooking(user);
            context.Bookings.Add(booking);

            context.SaveChanges();
        }
예제 #2
0
        public CarRentalUnitOfWork CreateContext(bool log)
        {
            var mock = new Mock <IMediator>();

            if (connection == null)
            {
                connection = new SqliteConnection("DataSource=:memory:");
                connection.Open();

                var options = CreateOptions();
                using (var context = new CarRentalUnitOfWork(options, mock.Object))
                {
                    context.Database.EnsureCreated();
                }
            }

            var dbContext = new CarRentalUnitOfWork(CreateOptions(), mock.Object);

            if (log)
            {
                dbContext.ConfigureLogging(s => Console.WriteLine(s), LoggingCategories.SQL);
            }
            return(dbContext);
        }
예제 #3
0
 public AvailableCarRepository(CarRentalUnitOfWork unitOfWork)
 {
     this.unitOfWork = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }
예제 #4
0
 public BookingRepository(CarRentalUnitOfWork unitOfWork)
     : base(unitOfWork)
 {
 }
예제 #5
0
 public UserRepository(CarRentalUnitOfWork unitOfWork) : base(unitOfWork)
 {
 }