Added Seed Data
This commit is contained in:
parent
454b9fda49
commit
74078ede9e
57
Infrastructure/Data/StoreContextSeed.cs
Normal file
57
Infrastructure/Data/StoreContextSeed.cs
Normal file
@ -0,0 +1,57 @@
|
||||
using System.Text.Json;
|
||||
using Core.Entities;
|
||||
using Infrastructure.Data;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class StoreContextSeed
|
||||
{
|
||||
public static async Task SeedAsync(StoreContext context, ILoggerFactory loggerFactory)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!context.ProductBrands.Any())
|
||||
{
|
||||
var brandsData = File.ReadAllText("../Infrastructure/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("../Infrastructure/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("../Infrastructure/Data/SeedData/products.json");
|
||||
var products = JsonSerializer.Deserialize<List<Product>>(productsData);
|
||||
foreach (var item in products)
|
||||
{
|
||||
context.Products.Add(item);
|
||||
}
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var logger = loggerFactory.CreateLogger<StoreContextSeed>();
|
||||
logger.LogError(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user