public static async Task SeedAsync(DB_E_CommerceContext context, ILoggerFactory loggerFactory) { try { var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (!context.ProductBrands.Any()) { var brandsData = File.ReadAllText(path + @"/Data/SeedData/brands.json"); var brands = JsonSerializer.Deserialize <List <ProductBrand> >(brandsData); foreach (var item in brands) { context.ProductBrands.Add(item); } await context.SaveChangesAsync(); } if (!context.ProductTypes.Any()) { var typesData = File.ReadAllText(path + @"/Data/SeedData/types.json"); var types = JsonSerializer.Deserialize <List <ProductType> >(typesData); foreach (var item in types) { context.ProductTypes.Add(item); } await context.SaveChangesAsync(); } if (!context.Products.Any()) { var productsData = File.ReadAllText(path + @"/Data/SeedData/products.json"); var products = JsonSerializer.Deserialize <List <Product> >(productsData); foreach (var item in products) { context.Products.Add(item); } await context.SaveChangesAsync(); } if (!context.DeliveryMethods.Any()) { var dmData = File.ReadAllText(path + @"/Data/SeedData/delivery.json"); var methods = JsonSerializer.Deserialize <List <DeliveryMethod> >(dmData); foreach (var item in methods) { context.DeliveryMethods.Add(item); } await context.SaveChangesAsync(); } } catch (Exception ex) { var logger = loggerFactory.CreateLogger <DB_E_CommerceContextSeed>(); logger.LogError(ex.Message); } }
public async Task <int> Complete() { return(await _dB_E_CommerceContext.SaveChangesAsync()); }