public static async Task CargarDataAsync(MarketDbContext context, ILoggerFactory loggerFactory)
 {
     try
     {
         if (!context.Categoria.Any())
         {
             var categoriaData = File.ReadAllText("../BusinessLogic/CargaData/categoria.json");
             var categorias    = JsonSerializer.Deserialize <List <Categoria> >(categoriaData);
             foreach (var categoria in categorias)
             {
                 context.Categoria.Add(categoria);
             }
             await context.SaveChangesAsync();
         }
         if (!context.Producto.Any())
         {
             var ProductoData = File.ReadAllText("../BusinessLogic/CargaData/producto.json");
             var productos    = JsonSerializer.Deserialize <List <Producto> >(ProductoData);
             foreach (var producto in productos)
             {
                 context.Producto.Add(producto);
             }
             await context.SaveChangesAsync();
         }
     }
     catch (Exception exp)
     {
         ILogger logger = loggerFactory.CreateLogger <MarketDbContextData>();
         logger.LogError(exp.Message);
     }
 }
        public static async Task CargarDataAsync(MarketDbContext context, ILoggerFactory loggerFactory)
        {
            try
            {
                if (!context.Marca.Any()) //Any indica si tiene algun valor
                {
                    var marcaData = File.ReadAllText("../BusinessLogic/CargarData/marca.json");
                    var marcas    = JsonSerializer.Deserialize <List <Marca> >(marcaData); //Le de un formato tipo list, una colección de la clase marca
                    foreach (var marca in marcas)
                    {
                        context.Marca.Add(marca);
                    }

                    await context.SaveChangesAsync();//Insertar la data en la tabla
                }

                if (!context.Categoria.Any()) //Any indica si tiene algun valor
                {
                    var categoriaData = File.ReadAllText("../BusinessLogic/CargarData/categoria.json");
                    var categorias    = JsonSerializer.Deserialize <List <Categoria> >(categoriaData); //Le de un formato tipo list, una colección de la clase categoria
                    foreach (var categoria in categorias)
                    {
                        context.Categoria.Add(categoria);
                    }

                    await context.SaveChangesAsync();//Insertar la data en la tabla
                }

                if (!context.Producto.Any()) //Any indica si tiene algun valor
                {
                    var productoData = File.ReadAllText("../BusinessLogic/CargarData/producto.json");
                    var productos    = JsonSerializer.Deserialize <List <Producto> >(productoData); //Le de un formato tipo list, una colección de la clase producto
                    foreach (var producto in productos)
                    {
                        context.Producto.Add(producto);
                    }

                    await context.SaveChangesAsync();//Insertar la data en la tabla
                }

                if (!context.TipoEnvios.Any())
                {
                    var tipoEnvioData = File.ReadAllText("../BusinessLogic/CargarData/tipoenvio.json");
                    var tipoEnvios    = JsonSerializer.Deserialize <List <TipoEnvio> >(tipoEnvioData);
                    foreach (var tipoEnvio in tipoEnvios)
                    {
                        context.TipoEnvios.Add(tipoEnvio);
                    }

                    await context.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                var logger = loggerFactory.CreateLogger <MarketDbContextData>(); //Logger se aplique sobre la clase actual, MarketDbContextData
                logger.LogError(e.Message);
            }
        }
Exemplo n.º 3
0
        public static async Task CargarDataAsync(MarketDbContext context, ILoggerFactory loggerFactory)
        {
            try
            {
                //Cargar data de Marcas y insertarlas a la base de datos:
                if (!context.Marca.Any())
                {
                    //Leer los datos desde el archivo Json:
                    var marcaData = File.ReadAllText("../Core/CargarData/marca.json");

                    //Deserializar los datos en un tipo de archivo de listado de marcas:
                    var marcas = JsonSerializer.Deserialize <List <Marca> >(marcaData);

                    //Bucle para leer cada uno de los elementos y insertarlos en el interior de la entidad tabla marca:
                    foreach (var marca in marcas)
                    {
                        context.Marca.Add(marca);
                    }

                    //Confirmación de la transacción:
                    await context.SaveChangesAsync();
                }

                //Cargar data de Categorias y insertarlas a la base de datos:
                if (!context.Categoria.Any())
                {
                    //Leer los datos desde el archivo Json:
                    var categoriaData = File.ReadAllText("../Core/CargarData/categoria.json");

                    //Deserializar los datos en un tipo de archivo de listado de categorias:
                    var categorias = JsonSerializer.Deserialize <List <Categoria> >(categoriaData);

                    //Bucle para leer cada uno de los elementos y insertarlos en el interior de la entidad tabla categoria:
                    foreach (var categoria in categorias)
                    {
                        context.Categoria.Add(categoria);
                    }

                    //Confirmación de la transacción:
                    await context.SaveChangesAsync();
                }

                //Cargar data de Productos y insertarlas a la base de datos:
                if (!context.Producto.Any())
                {
                    //Leer los datos desde el archivo Json:
                    var productoData = File.ReadAllText("../Core/CargarData/producto.json");

                    //Deserializar los datos en un tipo de archivo de listado de productos:
                    var productos = JsonSerializer.Deserialize <List <Producto> >(productoData);

                    //Bucle para leer cada uno de los elementos y insertarlos en el interior de la entidad tabla productos:
                    foreach (var producto in productos)
                    {
                        context.Producto.Add(producto);
                    }

                    //Confirmación de la transacción:
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                //Imprimir el mensaje de error por si ocurre algun problema:
                var logger = loggerFactory.CreateLogger <MarketDbContextData>();
                logger.LogError(ex.Message);
            }
        }