예제 #1
0
        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();
        }
예제 #2
0
        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();
        }