private void SeedUsers(CarSystemDbContext context) { if (!context.Roles.Any()) { var roleName = "Admin"; var roleStore = new RoleStore <IdentityRole>(context); var roleManager = new RoleManager <IdentityRole>(roleStore); var role = new IdentityRole { Name = roleName }; roleManager.Create(role); var userStore = new UserStore <User>(context); var userManager = new UserManager <User>(userStore); var user = new User { UserName = AdministratorUserName, Email = AdministratorUserName, EmailConfirmed = true, UserType = UserType.Admin }; userManager.Create(user, AdministratorPassword); userManager.AddToRole(user.Id, roleName); } }
private void SeedBrandswithModels(CarSystemDbContext context) { if (context.Brands.Any()) { return; } string[] brands = new string[] { "Volkswagen", "Audi", "BMV", "Mercedes" }; for (int i = 0; i < brands.Length; i++) { var brand = new Brand { BrandName = brands[i] }; for (int j = 0; j < 6; j++) { string[,] models = new string[4, 6] { { "1", "2", "3", "4", "5", "6" }, { "A3", "A4", "A5", "A6", "A7", "Q7" }, { "530xd", "X5", "X4", "X3", "M4", "M5" }, { "CLK 240", "CLK 320", "E 260", "G 280", "ML 320", "ML 340" } }; var carModel = new CarModel { ModelName = models[i, j] }; brand.CarModel.Add(carModel); } context.Brands.Add(brand); context.SaveChanges(); } }
//private readonly CarSystemDbContext dbContext; //public Searcher(CarSystemDbContext cotnext) //{ // this.dbContext = cotnext; //} public static void Search(CarSystemDbContext dbContext) { var xmlQueries = Directory .GetFiles(Directory.GetCurrentDirectory() + "/XmlInput/") .Where(f => f.EndsWith(".xml")) .Select(f => File.ReadAllText(f)) .FirstOrDefault(); var reader = new StringReader(xmlQueries); var result = new List <List <CarOutputXmlModel> >(); Queries queries; // var queries = (Queries)new XmlSerializer(typeof(Queries)).Deserialize(reader); using (reader) { queries = (Queries) new XmlSerializer(typeof(Queries)).Deserialize(reader); } // reader.Read(); //using (reader) //{ // var queries = (Queries)new XmlSerializer(typeof(Queries)).Deserialize(reader); foreach (var q in queries.Query) { var res = ProcessQuery(q, dbContext).ToList(); result.Add(res); } }
public static void Main() { Database.SetInitializer(new MigrateDatabaseToLatestVersion <CarSystemDbContext, Configuration>()); var db = new CarSystemDbContext(); db.Cars.Count(); }
protected override void Seed(CarSystemDbContext context) { this.SeedBrandswithModels(context); this.SeedCars(context); this.SeedUsers(context); }
static void Main() { Database.SetInitializer(new MigrateDatabaseToLatestVersion <CarSystemDbContext, Configuration>()); // Database.SetInitializer( new DropCreateDatabaseAlways<CarSystemDbContext>()); var db = new CarSystemDbContext(); // System.Console.WriteLine(db.Dealers); JsonImporter.Import(db); // Searcher.Search(db); }
public ActionResult AddCar() { var db = new CarSystemDbContext(); List <SelectListItem> items = db.Brands.Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.BrandName }).ToList(); ViewBag.Brand = items; var viewModel = new AddCarViewModel(); viewModel.Brands = items; // viewModel.CarModels = model; return(View(viewModel)); }
private void SeedCars(CarSystemDbContext context) { if (!context.Cars.Any()) { for (int i = 1; i < 4; i++) { var car = new Car() { Id = i, CarModelsId = 3 * i, DateOfManufacturer = 2008, Mileage = 1400 * i, Price = 6454 * i, Engine = "1,9TDI", Description = "Nice car!" }; context.Cars.Add(car); } } }
public static void Import(CarSystemDbContext dbContext) { 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 citiesToAdd = new HashSet <string>(); var manufacturerToAdd = new HashSet <string>(); var DealarsToAdd = new HashSet <string>(); foreach (var car in carsToAdd) { citiesToAdd.Add(car.Dealer.City); manufacturerToAdd.Add(car.ManufacturerName); DealarsToAdd.Add(car.Dealer.Name); } foreach (var cityName in citiesToAdd) { var city = new City() { Name = cityName }; dbContext.Cities.Add(city); } foreach (var manufactureName in manufacturerToAdd) { var manufacturer = new Manufacturer() { Name = manufactureName }; dbContext.Manufacturers.Add(manufacturer); } foreach (var dealerName in DealarsToAdd) { var dealer = new Dealer() { Name = dealerName }; dbContext.Dealers.Add(dealer); } dbContext.SaveChanges(); var counter = 0; foreach (var carToAdd in carsToAdd) { dbContext.Configuration.AutoDetectChangesEnabled = false; dbContext.Configuration.ValidateOnSaveEnabled = false; var dbCity = dbContext.Cities.Where(c => c.Name == carToAdd.Dealer.City).SingleOrDefault(); var dbDealer = dbContext.Dealers.Where(d => d.Name == carToAdd.Dealer.Name).SingleOrDefault(); if (!dbDealer.Cities.Any(c => c.Name == dbCity.Name)) { dbDealer.Cities.Add(dbCity); } var car = new Car { Model = carToAdd.Model, Manufacturer = dbContext.Manufacturers.Where(m => m.Name == carToAdd.ManufacturerName).SingleOrDefault(), Transmitiontype = (TransmitionType)carToAdd.TransmissionType, Year = carToAdd.Year, Price = carToAdd.Price, Dealer = dbDealer }; dbContext.Cars.Add(car); counter++; if (counter % 100 == 0) { System.Console.Write("*"); } } dbContext.SaveChanges(); }
private static List <CarOutputXmlModel> ProcessQuery(QueriesQuery query, CarSystemDbContext db) { // var db = new CarsDbContext(); var dataQuery = db.Cars.Select( car => new CarOutputXmlModel { Id = car.Id, Manufacturer = car.Manufacturer.Name, Model = car.Model, Price = car.Price, Year = car.Year, TransmissionType = car.Transmitiontype == Models.TransmitionType.Manual ? "manual" : "automatic", Dealer = new DealerXmlModel { Name = car.Dealer.Name, Cities = car.Dealer.Cities.Select(city => city.Name).ToList(), } }); switch (query.OrderBy) { case "Id": dataQuery = dataQuery.OrderBy(x => x.Id); break; case "Year": dataQuery = dataQuery.OrderBy(x => x.Year); break; case "Model": dataQuery = dataQuery.OrderBy(x => x.Model); break; case "Price": dataQuery = dataQuery.OrderBy(x => x.Price); break; case "Manufacturer": dataQuery = dataQuery.OrderBy(x => x.Manufacturer); break; case "Dealer": dataQuery = dataQuery.OrderBy(x => x.Dealer.Name); break; } foreach (var whereClause in query.WhereClauses) { if (whereClause.PropertyName == "Id") { var constant = int.Parse(whereClause.Value); switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Id == constant); break; case GreaterThan: dataQuery = dataQuery.Where(x => x.Id > constant); break; case LessThan: dataQuery = dataQuery.Where(x => x.Id < constant); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "Year") { var constant = int.Parse(whereClause.Value); switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Year == constant); break; case GreaterThan: dataQuery = dataQuery.Where(x => x.Year > constant); break; case LessThan: dataQuery = dataQuery.Where(x => x.Year < constant); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "Price") { var constant = decimal.Parse(whereClause.Value); switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Price == constant); break; case GreaterThan: dataQuery = dataQuery.Where(x => x.Price > constant); break; case LessThan: dataQuery = dataQuery.Where(x => x.Price < constant); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "Model") { switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Model == whereClause.Value); break; case Contains: dataQuery = dataQuery.Where(x => x.Model.Contains(whereClause.Value)); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "Manufacturer") { switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Manufacturer == whereClause.Value); break; case Contains: dataQuery = dataQuery.Where(x => x.Manufacturer.Contains(whereClause.Value)); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "Dealer") { switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Dealer.Name == whereClause.Value); break; case Contains: dataQuery = dataQuery.Where(x => x.Dealer.Name.Contains(whereClause.Value)); break; default: throw new ArgumentOutOfRangeException(); } } else if (whereClause.PropertyName == "City") { switch (whereClause.Type) { case Equal: dataQuery = dataQuery.Where(x => x.Dealer.Cities.Contains(whereClause.Value)); break; default: throw new ArgumentOutOfRangeException(); } } } var data = dataQuery.ToList(); return(data); //var serializer = new XmlSerializer(data.GetType(), new XmlRootAttribute("Cars")); //using (var fs = new FileStream(query.OutputFileName, FileMode.Create)) //{ // serializer.Serialize(fs, data); //} //System.Console.WriteLine(); //System.Console.WriteLine("{0} ready.", query.OutputFileName); }
public CarsController(CarSystemDbContext db, UserManager <User> userManager) { this.db = db; this.userManager = userManager; }