public static void Main() { Database.SetInitializer(new DropCreateDatabaseAlways <CarsSystemDbContext>()); var db = new CarsSystemDbContext(); JsonCarsImporter.Import(); }
public void ShouldReturnInstanceOfCarsDbContext() { // Arrange var db = CarsSystemDbContext.Create(); // Act & Assert Assert.IsInstanceOf <CarsSystemDbContext>(db); }
public void BeTypeOfICarsDbContext() { // Arrange var db = new CarsSystemDbContext(); // Act & Assert Assert.IsInstanceOf <ICarsSystemDbContext>(db); }
public void CreateInstanceOfDatabase() { // Arrange var db = new CarsSystemDbContext(); // Act & Assert Assert.IsInstanceOf <CarsSystemDbContext>(db); }
public void CreateCorrectlyUsersService_IfEfRepositoyryIsNotNull() { CarsSystemDbContext context = new CarsSystemDbContext(); EfGenericRepository <User> carRepo = new EfGenericRepository <User>(context); Assert.DoesNotThrow(() => new UsersService(carRepo)); Assert.IsNotNull(carRepo); }
public void CreateInstance_OfTypeIUsersService() { CarsSystemDbContext context = new CarsSystemDbContext(); EfGenericRepository <User> carRepo = new EfGenericRepository <User>(context); var usersService = new UsersService(carRepo); Assert.IsInstanceOf <IUsersService>(usersService); }
public void CreateCorrectlyCarsService_IfEfRepositoryIsNotNull() { // Arrange CarsSystemDbContext context = new CarsSystemDbContext(); EfGenericRepository <Car> carRepo = new EfGenericRepository <Car>(context); // Act & Assert Assert.DoesNotThrow(() => new CarsService(carRepo)); Assert.IsNotNull(carRepo); }
public void CreateInstance_OfTypeICarsService() { // Arrange CarsSystemDbContext context = new CarsSystemDbContext(); EfGenericRepository <Car> carRepo = new EfGenericRepository <Car>(context); // Act var carsService = new CarsService(carRepo); // Assert Assert.IsInstanceOf <ICarsService>(carsService); }
private static void ProcessQuery(QueriesQuery query) { var db = new CarsSystemDbContext(); var carsQuery = db.Cars.AsQueryable(); foreach (var whereClauses in query.WhereClauses) { switch (whereClauses.PropertyName) { case "Year": switch (whereClauses.Type) { case "Equals": carsQuery = carsQuery.Where(c => c.Id == int.Parse(whereClauses.Value)); break; case "GreaterThan": carsQuery = carsQuery.Where(c => c.Id > int.Parse(whereClauses.Value)); break; case "LessThan": carsQuery = carsQuery.Where(c => c.Id < int.Parse(whereClauses.Value)); break; } break; case "Model": break; case "Price": break; case "Manufacturer": break; case "Dealer": break; default: break; } } switch (query.OrderBy) { case "Year": carsQuery = carsQuery.OrderBy(c => c.Year); break; case "Model": carsQuery = carsQuery.OrderBy(c => c.Model); break; case "Price": carsQuery = carsQuery.OrderBy(c => c.Price); break; case "Manufacturer": carsQuery = carsQuery.OrderBy(c => c.Manufacturer.Name); break; case "Dealer": carsQuery = carsQuery.OrderBy(c => c.Dealer.Name); break; default: break; } }
public static void Initialize() { Database.SetInitializer(new MigrateDatabaseToLatestVersion <CarsSystemDbContext, Configuration>()); CarsSystemDbContext.Create().Database.Initialize(true); }
public static void Import() { var carsToAdd = Directory.GetFiles(Directory.GetCurrentDirectory() + "/JsonFiles/") .Where(f => f.EndsWith(".json")) .Select(f => File.ReadAllText(f)) .SelectMany(str => JsonConvert.DeserializeObject <IEnumerable <CarJsonModel> >(str)) .ToList(); var addedCities = new HashSet <string>(); var addedManufacturers = new HashSet <string>(); Console.WriteLine("Addind cars"); var addedCars = 0; var db = new CarsSystemDbContext(); db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; foreach (var car in carsToAdd) { var cityName = car.Dealer.City; if (!addedCities.Contains(cityName)) { var city = new City { Name = cityName, }; db.Cities.Add(city); db.SaveChanges(); addedCities.Add(cityName); } var manufacturer = car.ManufacturerName; if (!addedManufacturers.Contains(manufacturer)) { var newManufacturer = new Manufacturer { Name = manufacturer }; addedManufacturers.Add(manufacturer); db.Manufacturers.Add(newManufacturer); db.SaveChanges(); } var dealerToAdd = new Dealer { Name = car.Dealer.Name }; var dbCity = db.Cities.FirstOrDefault(c => c.Name == cityName); dealerToAdd.Cities.Add(dbCity); var dbManufacturer = db.Manufacturers.FirstOrDefault(m => m.Name == car.ManufacturerName); var carToAdd = new Car { Manufacturer = dbManufacturer, Dealer = dealerToAdd, Model = car.Model, Price = car.Price, Transmission = (TransmissionType)car.TransmissionType, Year = car.Year }; db.Cars.Add(carToAdd); if (addedCars % 100 == 0) { Console.Write("."); db.SaveChanges(); db.Dispose(); db = new CarsSystemDbContext(); db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; } addedCars++; } db.SaveChanges(); db.Configuration.AutoDetectChangesEnabled = true; }
public void CarsSystemDbContext_CreateMethodShouldReturnInstanceOfICarsDbContext() { var db = CarsSystemDbContext.Create(); Assert.IsInstanceOf <ICarsSystemDbContext>(db); }
public void CarsSystemDbContext_ShouldBeTypeOfICarsDbContext() { var db = new CarsSystemDbContext(); Assert.IsInstanceOf <ICarsSystemDbContext>(db); }
public void CarsSystemDbContext_ShouldCreateInstanceOfDatabase() { var db = new CarsSystemDbContext(); Assert.IsInstanceOf <CarsSystemDbContext>(db); }
public static void Import() { Stopwatch sw = new Stopwatch(); sw.Start(); var carsToAdd = Directory .GetFiles(Directory.GetCurrentDirectory() + "/Data.Json.Files/") .Where(f => f.EndsWith(".json")) .Select(File.ReadAllText) .SelectMany(JsonConvert.DeserializeObject <IEnumerable <JsonCarModel> >) .ToList(); var addedCities = new HashSet <string>(); var addedManufacturers = new HashSet <string>(); Console.WriteLine("Adding cars"); var addedCars = 0; var db = new CarsSystemDbContext(); // OPTIMIZATION? // db.Configuration.AutoDetectChangesEnabled = false; // db.Configuration.ValidateOnSaveEnabled = false; foreach (var car in carsToAdd) { var cityName = car.Dealer.City; if (!addedCities.Contains(cityName)) { addedCities.Add(cityName); db.Cities.Add(new City() { Name = cityName }); db.SaveChanges(); } var dbCityToAdd = db.Cities.FirstOrDefault(c => c.Name == cityName); var manufacturer = car.ManufacturerName; if (!addedManufacturers.Contains(manufacturer)) { addedManufacturers.Add(manufacturer); db.Manufacturers.Add(new Manufacturer() { Name = manufacturer }); db.SaveChanges(); } var manufacturerToAdd = db.Manufacturers.FirstOrDefault(m => m.Name == manufacturer); var dealerToAdd = new Dealer() { Name = car.Dealer.Name }; var carToAdd = new Car() { Manufacturer = manufacturerToAdd, Dealer = dealerToAdd, Model = car.Model, Price = car.Price, TransmissionType = (TransmissionType)car.TransmissionType, Year = car.Year }; db.Cars.Add(carToAdd); addedCars++; if (addedCars % 100 == 0) { Console.Write("."); db.SaveChanges(); db.Dispose(); db = new CarsSystemDbContext(); // OPTIMIZATION? // db.Configuration.AutoDetectChangesEnabled = false; // db.Configuration.ValidateOnSaveEnabled = false; } if (addedCars % 1000 == 0) { Console.WriteLine(addedCars + " "); } } db.SaveChanges(); sw.Stop(); Console.WriteLine(sw.Elapsed); }