public void GetExcel(bool WebLoad = false) { if (WebLoad) { using (var client = new WebClient()) { client.UseDefaultCredentials = true; client.DownloadFile("https://drive.google.com/uc?export=download&id=1tVyBibhr4Yf045PCh71c9W1SyDdGmm-3", @"./Models/Cars.xlsx"); } } CarsContext.Cars.RemoveRange(CarsContext.Cars); CarsContext.CarModels.RemoveRange(CarsContext.CarModels); ExcelEngine excelEngine = new ExcelEngine(); IApplication application = excelEngine.Excel; application.DefaultVersion = ExcelVersion.Excel2013; string basePath = (@"./Models/Cars.xlsx"); FileStream sampleFile = new FileStream(basePath, FileMode.Open); IWorkbook workbook = application.Workbooks.Open(sampleFile); List <CarModel> carModels = new List <CarModel>(); foreach (var item in workbook.Worksheets) { if (item.Index != 0) { Brand brand = new Brand() { Name = item.Name }; foreach (var item2 in item.Columns[0].Cells) { if (item.Name != item2.Value) { carModels.Add(new CarModel { Model = item2.Value, Brand = brand }); } } } } CarsContext.CarModels.AddRange(carModels); CarsContext.SaveChanges(); workbook.Close(); excelEngine.Dispose(); }
public void Generate() { Random random = new Random(); List <Car> cars = new List <Car>(); string charL = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string charN = "0123456789"; for (int i = 0; i < random.Next(6, 12); i++) { string tempN = ""; tempN += charL[random.Next(charL.Length)]; tempN += charL[random.Next(charL.Length)]; tempN += charN[random.Next(charN.Length)]; tempN += charN[random.Next(charN.Length)]; tempN += charN[random.Next(charN.Length)]; tempN += charN[random.Next(charN.Length)]; tempN += charL[random.Next(charL.Length)]; tempN += charL[random.Next(charL.Length)]; if (null == cars.FirstOrDefault(x => x.Number == tempN)) { DateTime start = new DateTime(1995, 1, 1); int range = (DateTime.Today - start).Days; start = start.AddDays(random.Next(range)); var models = context.CarModels; Car car = new Car() { Number = tempN, Mileage = random.Next(1000), Data = start, CarModel = context.CarModels.ToList().ElementAt(random.Next(context.CarModels.Count())), }; cars.Add(car); } } context.AddRange(cars); context.SaveChanges(); }