/// <summary>
        /// Metoda służąca do dodania obiektu Rental do bazy danych i przypisania do niego obiektów Customer oraz Car.
        /// Jeżeli znalezione obiekty po ID: Car oraz Customer nie istnieją w bazie, zwrócony jest wyjątek InvalidOperationException,
        /// jeśli zaś w bazie danych istnieje już rezerwacja na dany samochód to zostanie zwrócony wyjątek InvalidOperationException
        /// </summary>
        /// <param name="rental">Obiekt typu Rental, który zostanie zapisany do bazy danych oraz użyty do znalezienia obiektów Car oraz Customer,
        /// które zostaną do niego przypisane</param>
        public void AddRental(Rental rental)
        {
            var newRental = db.Rentals.Where(x => x.CarId == rental.CarId).FirstOrDefault();



            var newCustomer = db.Customers.Find(rental.CustomerId);
            var newCar      = db.Cars.Find(rental.CarId);


            if (newCar == null)
            {
                throw new InvalidOperationException("Nie ma takiego samochodu");
            }

            if (newRental != null)
            {
                throw new InvalidOperationException("Jest już rezerwacja na ten samochód");
            }

            if (newCustomer == null)
            {
                throw new InvalidOperationException("Nie ma takiego użytkownika");
            }

            if (rental != null)
            {
                rental.Customers = newCustomer;
                rental.Cars      = newCar;
                db.Rentals.Add(rental);
                db.SaveChanges();
            }
        }
예제 #2
0
 /// <summary>
 /// Metoda służąca do dodania obietu typu Customer do bazy danych
 /// </summary>
 /// <param name="customer">Obiekt typu Customer, który zostanie dodany do bazy danych</param>
 public void AddCustomer(Customer customer)
 {
     if (customer != null)
     {
         db.Customers.Add(customer);
         db.SaveChanges();
     }
 }
예제 #3
0
 /// <summary>
 /// Metoda służąca do dodania obiektu Car do bazy danych i przypisania do niego obiektu CarService
 /// </summary>
 /// <param name="car">Obiekt typu Car, który zostanie dodany do bazy danych</param>
 /// <param name="carService">Obiekt typu CarService, który zostanie przypisany do obiektu Car</param>
 public void AddCar(Car car, CarService carService)
 {
     if (car != null && carService != null)
     {
         car.CarService = carService;
         db.Cars.Add(car);
         db.SaveChanges();
     }
 }