/// <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(); } }
/// <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(); } }
/// <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(); } }