public EFContextMongoDB(InfrastructureAppSettings infrastructure) { _client = new MongoClient(infrastructure.ConnectionString); if (_client != null) { Database = _client.GetDatabase(infrastructure.DatabaseName); } ClassMapping(); }
public OrderRepository(InfrastructureAppSettings infrastructure) { _context = new EFContextMongoDB(infrastructure); }
private static void SeedFromMongoDB() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); var configuration = builder.Build(); var orderConfiguration = new InfrastructureAppSettings { ConnectionString = configuration.GetSection("GestamstoreDatabaseSettings")["ConnectionString"], DatabaseName = configuration.GetSection("GestamstoreDatabaseSettings")["DatabaseName"] }; var stopWatch = new Stopwatch(); stopWatch.Start(); var cultureInfo = new CultureInfo("en-US"); var repository = new OrderRepository(orderConfiguration); using (var reader = new StreamReader(PATH)) { var lineCount = File.ReadLines(PATH).Count(); var cont = 1; while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(DELIMITER_CHARACTER); var order = new Order { Region = values[0], Country = values[1], ItemType = values[2], SalesChannel = values[3], OrderPriority = values[4], OrderDate = DateTime.Parse(values[5], cultureInfo), OrderId = int.Parse(values[6]), ShipDate = DateTime.Parse(values[7], cultureInfo), UnitsSlod = int.Parse(values[8]), UnitPrice = decimal.Parse(values[9], cultureInfo), UnitCost = decimal.Parse(values[10], cultureInfo), TotalCost = decimal.Parse(values[11], cultureInfo), TotalRevenue = decimal.Parse(values[12], cultureInfo), TotalProfi = decimal.Parse(values[13], cultureInfo) }; repository.Add(order); Console.Write("\r{0} de {1}", cont, lineCount); cont++; } } Console.WriteLine(""); Console.WriteLine(""); var orders = repository.GetAll(); Console.WriteLine($"{orders.Count()} regs. in accounts"); Console.WriteLine(""); stopWatch.Stop(); var ts = stopWatch.Elapsed; Console.WriteLine($"\t{ts.Seconds}.{ts.Milliseconds} sg.ms"); Console.WriteLine(""); }