public Car AddCar(Car car, string username) { if (car == null) { throw new ArgumentNullException(); } if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentNullException(username); } using (ParkingDBContext context = factory.CreateDbContext()) { ApplicationUser userEntity = context.Users.Single(us => us.UserName == username); CarEntity carEntity = new CarEntity(); carEntity.Manufacturer = car.Manufacturer; carEntity.Model = car.Model; carEntity.StateNumber = car.StateNumber; carEntity.Year = car.Year; carEntity.Color = car.Color; context.Cars.Add(carEntity); UsersHaveCars uhc = new UsersHaveCars(); uhc.UserEntity = userEntity; uhc.CarEntity = carEntity; carEntity.UsersHaveCars = new List <UsersHaveCars>(); carEntity.UsersHaveCars.Add(uhc); context.SaveChanges(); return(car); } }
public void GetParkedCarsTest() { string username = "******"; using (ParkingDBContext context = contextFactory.CreateDbContext()) { ApplicationUser user = new ApplicationUser(); user.UserName = username; CarEntity firstCar = new CarEntity(); firstCar.StateNumber = "1515-IO7"; context.Users.Add(user); UsersHaveCars uhc = new UsersHaveCars(); uhc.UserEntity = user; uhc.CarEntity = firstCar; user.UsersHaveCars = new List <UsersHaveCars>(); user.UsersHaveCars.Add(uhc); ParkingHistoryEntity parkingHistoryEntity = new ParkingHistoryEntity(); parkingHistoryEntity.IdCar = firstCar.IdCar; parkingHistoryEntity.IdUser = user.Id; parkingHistoryEntity.IdParking = 1; parkingHistoryEntity.Arrival = DateTime.Now; parkingHistoryEntity.Car = firstCar; parkingHistoryEntity.User = user; context.ParkingHistory.Add(parkingHistoryEntity); context.SaveChanges(); } CarManager carManager = new CarManager(contextFactory); List <Car> cars = carManager.GetParkedCars(username); Assert.NotEmpty(cars); }
public void RemoveCarTest() { Car car = new Car(); car.StateNumber = "1234-AA7"; using (ParkingDBContext context = contextFactory.CreateDbContext()) { ApplicationUser userEntity = new ApplicationUser(); userEntity.UserName = "******"; CarEntity carEntity = new CarEntity(); carEntity.StateNumber = car.StateNumber; context.Users.Add(userEntity); context.Cars.Add(carEntity); car.Id = carEntity.IdCar; UsersHaveCars uhc = new UsersHaveCars(); uhc.UserEntity = userEntity; uhc.CarEntity = carEntity; userEntity.UsersHaveCars = new List <UsersHaveCars>(); userEntity.UsersHaveCars.Add(uhc); context.SaveChanges(); } CarManager carManager = new CarManager(contextFactory); bool removedCar = carManager.RemoveCar(car); Assert.True(removedCar); }
public void DepartureTest() { User user = new User(); user.Username = "******"; Car car = new Car(); car.Owner = user; car.StateNumber = "1234"; Parking parking = new Parking(); parking.ParkingName = "Zion"; using (ParkingDBContext context = contextFactory.CreateDbContext()) { ParkingEntity parkingEntity = new ParkingEntity(); parkingEntity.Name = parking.ParkingName; context.Parkings.Add(parkingEntity); ApplicationUser userEntity = new ApplicationUser(); userEntity.UserName = user.Username; context.Users.Add(userEntity); CarEntity carEntity = new CarEntity(); carEntity.StateNumber = car.StateNumber; UsersHaveCars uhc = new UsersHaveCars(); uhc.UserEntity = userEntity; uhc.CarEntity = carEntity; userEntity.UsersHaveCars = new List <UsersHaveCars>(); userEntity.UsersHaveCars.Add(uhc); context.SaveChanges(); } ParkingManager parkingManager = new ParkingManager(contextFactory); parkingManager.Arrive(car, parking, car.Owner.Username); parkingManager.Depart(car); Assert.DoesNotContain(car, parking.Cars); }