コード例 #1
0
        public void Put_CarClass_IsTrue()
        {
            var carclass = new CarClass()
            {
                Class = "ichwerde", CostsPerDay = 1000m
            };
            DbContextOptionsBuilder <CarRentDBContext> builder = new DbContextOptionsBuilder <CarRentDBContext>();

            builder.UseInMemoryDatabase("CarRent");
            DbContextOptions <CarRentDBContext> options = builder.Options;
            CarRentDBContext carrent = new CarRentDBContext(options);

            ExampleData.ExampleData.InitTestData(carrent);
            var carclasscontroller = new CarClassesController(carrent);

            carclasscontroller.PostCarClass(carclass);
            int id = 0;

            foreach (var cclass in carclasscontroller.GetCarClasses())
            {
                if (cclass.Class.Equals("ichwerde"))
                {
                    id = cclass.Id;
                    break;
                }
            }
            var carclass2 = carclasscontroller.GetCarClass(id);

            carclasscontroller.PutCarClass(id, carclass2);
            var carclass3 = carclasscontroller.GetCarClass(id);

            Assert.IsTrue(carclass3.Class.Equals(carclass2.Class));
        }
コード例 #2
0
        public void Delete_CarClass_IsTrue()
        {
            var carclass = new CarClass()
            {
                Class = "Ichwerdegeloeschtzwei", CostsPerDay = 1000m
            };
            DbContextOptionsBuilder <CarRentDBContext> builder = new DbContextOptionsBuilder <CarRentDBContext>();

            builder.UseInMemoryDatabase("CarRent");
            DbContextOptions <CarRentDBContext> options = builder.Options;
            CarRentDBContext carrent = new CarRentDBContext(options);

            ExampleData.ExampleData.InitTestData(carrent);
            var carclasscontroller = new CarClassesController(carrent);

            carclasscontroller.PostCarClass(carclass);
            bool isAdded = false;
            int  id      = 0;

            foreach (var cclass in carclasscontroller.GetCarClasses())
            {
                if (cclass.Class.Equals(carclass.Class) && cclass.CostsPerDay == carclass.CostsPerDay)
                {
                    id      = cclass.Id;
                    isAdded = true;
                    break;
                }
            }

            carclasscontroller.DeleteCarClass(id);
            Assert.IsTrue(isAdded && carclasscontroller.GetCarClass(id) == null);
        }
コード例 #3
0
ファイル: Contract.cs プロジェクト: chewy1991/CarRentAPI
        public ContractComplete(CarRentDBContext context, Contract contract)
        {
            Reservation reservation = context.Reservations.Find(contract.ReservationId);

            this.ReservationDate = reservation.ReservationDate;
            this.State           = reservation.State;
            this.Costs           = reservation.Costs;
            this.ReservationDate = reservation.ReservationDate;
            this.RentalDate      = reservation.RentalDate;
            this.RentalDays      = reservation.RentalDays;
            Customer customer = context.Customers.Find(reservation.CustomerId);

            this.Firstname       = customer.Firstname;
            this.Lastname        = customer.Lastname;
            this.Adress          = customer.Adress;
            this.EMailAdress     = customer.EMailAdress;
            this.Telephonenumber = customer.Telephonenumber;
            Car      car   = context.Cars.Find(reservation.CarId);
            CarBrand brand = context.CarBrands.Find(car.BrandId);

            this.BrandName = brand.BrandName;
            CarClass carclass = context.CarClasses.Find(car.ClassId);

            this.Class = carclass.Class;
            CarType type = context.CarTypes.Find(car.TypeId);

            this.carType     = type.carType;
            this.CostsPerDay = carclass.CostsPerDay;
        }
コード例 #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddDbContext <CarRentDBContext>(opt => opt.UseInMemoryDatabase("CarRent"));
            DbContextOptionsBuilder <CarRentDBContext> builder = new DbContextOptionsBuilder <CarRentDBContext>();

            builder.UseInMemoryDatabase("CarRent");
            DbContextOptions <CarRentDBContext> options = builder.Options;

            CarRentDBContext carrent = new CarRentDBContext(options);

            ExampleData.ExampleData.InitTestData(carrent);
        }
コード例 #5
0
        public void Post_CarClass_IsTrue()
        {
            var carclass = new CarClass()
            {
                Class = "Ichwerdegeloescht", CostsPerDay = 1000m
            };
            DbContextOptionsBuilder <CarRentDBContext> builder = new DbContextOptionsBuilder <CarRentDBContext>();

            builder.UseInMemoryDatabase("CarRent");
            DbContextOptions <CarRentDBContext> options = builder.Options;
            CarRentDBContext carrent = new CarRentDBContext(options);

            ExampleData.ExampleData.InitTestData(carrent);
            var carclasscontroller = new CarClassesController(carrent);

            if (carrent.CarClasses.Any(e => e.Class == carclass.Class))
            {
                int index        = 0;
                var carclasslist = carclasscontroller.GetCarClasses();
                foreach (var cclass in carclasslist)
                {
                    if (!cclass.Class.Equals(carclass.Class))
                    {
                        continue;
                    }
                    index = cclass.Id;
                }

                carclasscontroller.DeleteCarClass(index);
            }

            carclasscontroller.PostCarClass(carclass);

            var bOk = false;
            var ind = 0;

            foreach (var carsclasses in carclasscontroller.GetCarClasses())
            {
                if (carsclasses.Class.Equals(carclass.Class) && carsclasses.CostsPerDay == carclass.CostsPerDay)
                {
                    bOk = true;
                    ind = carsclasses.Id;
                    break;
                }
            }

            carclasscontroller.DeleteCarClass(ind);
            Assert.IsTrue(bOk);
        }
コード例 #6
0
        public void Get_CarclassController_IsTrue()
        {
            DbContextOptionsBuilder <CarRentDBContext> builder = new DbContextOptionsBuilder <CarRentDBContext>();

            builder.UseInMemoryDatabase("CarRent");
            DbContextOptions <CarRentDBContext> options = builder.Options;
            CarRentDBContext carrent = new CarRentDBContext(options);

            ExampleData.ExampleData.InitTestData(carrent);
            var carclasscontroller = new CarClassesController(carrent);
            var carclasslist       = carclasscontroller.GetCarClasses();
            var carlist2           = carrent.CarClasses.ToList();

            Assert.IsTrue(carclasslist.Count == carlist2.Count);
        }
コード例 #7
0
 public CarsController(CarRentDBContext context)
 {
     _context = context;
 }
コード例 #8
0
 public ReservationsController(CarRentDBContext context)
 {
     _context = context;
 }
コード例 #9
0
ファイル: CarRepository.cs プロジェクト: elbeachboy/CarRent
 public CarRepository(CarRentDBContext dbContext)
 {
     _dbContext = dbContext;
 }
コード例 #10
0
 public ReservationRepository(CarRentDBContext dbContext)
 {
     _dbContext = dbContext;
 }
コード例 #11
0
        public static void InitTestData(CarRentDBContext context)
        {
            var carclasslist = new List <CarClass>()
            {
                new CarClass()
                {
                    Class = "Economy", CostsPerDay = 25m
                },
                new CarClass()
                {
                    Class = "Middleclass", CostsPerDay = 40m
                },
                new CarClass()
                {
                    Class = "Luxury", CostsPerDay = 55m
                }
            };

            var cartypelist = new List <CarType>()
            {
                new CarType()
                {
                    carType = "Limousine"
                },
                new CarType()
                {
                    carType = "Kombi"
                },
                new CarType()
                {
                    carType = "SUV"
                }
            };

            var carbrandlist = new List <CarBrand>()
            {
                new CarBrand()
                {
                    BrandName = "VW"
                },
                new CarBrand()
                {
                    BrandName = "Audi"
                },
                new CarBrand()
                {
                    BrandName = "Fiat"
                },
                new CarBrand()
                {
                    BrandName = "Seat"
                }
            };

            context.CarClasses.AddRange(carclasslist);
            context.CarBrands.AddRange(carbrandlist);
            context.CarTypes.AddRange(cartypelist);
            context.SaveChanges();

            var carlist = new List <Car>()
            {
                new Car()
                {
                    BrandId = 1, ClassId = 1, horsepower = 100, kilometer = 150000, RegistrationYear = 2020, TypeId = 1
                },
                new Car()
                {
                    BrandId = 2, ClassId = 2, horsepower = 150, kilometer = 150000, RegistrationYear = 2019, TypeId = 2
                },
                new Car()
                {
                    BrandId = 3, ClassId = 3, horsepower = 300, kilometer = 150000, RegistrationYear = 2018, TypeId = 3
                }
            };

            context.Cars.AddRange(carlist);
            context.SaveChanges();

            var customerlist = new List <Customer>()
            {
                new Customer()
                {
                    Adress = "W. Wolfensbergerstr. 3, 9424 Rheineck", EMailAdress = "*****@*****.**", Firstname = "Adrian", Lastname = "Kaufmann", Telephonenumber = "0765655282"
                },
                new Customer()
                {
                    Adress = "W. Wolfensbergerstr. 5, 9424 Rheineck", EMailAdress = "*****@*****.**", Firstname = "Max", Lastname = "Mustermann", Telephonenumber = "0798888888"
                },
                new Customer()
                {
                    Adress = "W. Wolfensbergerstr. 7, 9424 Rheineck", EMailAdress = "*****@*****.**", Firstname = "Vreni", Lastname = "Musterfrau", Telephonenumber = "0774445566"
                },
            };

            context.Customers.AddRange(customerlist);
            context.SaveChanges();

            var reservation = new Reservation()
            {
                CarId = 1, CustomerId = 1, RentalDate = new DateTime(2020, 02, 11), ReservationDate = new DateTime(2020, 01, 01), RentalDays = 8, State = ReservationState.pending
            };
            var reservation2 = new Reservation()
            {
                CarId = 2, CustomerId = 2, RentalDate = new DateTime(2020, 02, 11), ReservationDate = new DateTime(2020, 01, 01), RentalDays = 8, State = ReservationState.pending
            };
            var car      = context.Cars.Find(reservation.CarId);
            var carclass = context.CarClasses.Find(car.ClassId);

            reservation.Costs = reservation.RentalDays * carclass.CostsPerDay;
            context.Reservations.Add(reservation);
            context.Reservations.Add(reservation2);
            context.SaveChanges();
        }