Exemplo n.º 1
0
        public void ProcesoProductos()
        {
            OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Inicio de Proceso");
            OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Instanciando Helper AWS");
            OAwsHelper = new AWSHelper("AKIAIHQ53NFR6EGNA75Q", "MKph/aGOqSBvIT+VtCHpR0NHYgs1DEvmBJY4Opym", "ibushak03-20", "AKIAIHQ53NFR6EGNA75Q");
            try
            {
                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Obteniendo productos a analizar");
                var productos = ProductosAdapter.ObtenerProductos();
                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Productos asin en la base actual");
                foreach (var item in productos.asins)
                {
                    OBitacora.GuardarLinea(item.Id);
                }
                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Productos upc en la base actual");
                foreach (var item in productos.upcs)
                {
                    OBitacora.GuardarLinea(item.Id);
                }
                if (productos.upcs.Any())
                {
                    ProcesarUpc(productos.upcs);
                }

                if (productos.asins.Any())
                {
                    ProcesarAsin(productos.asins);
                }

                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Generando Archivo Excel");
                var oArchvios = new Archivos();
                oArchvios.GenerarProductosActualizados();

                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Reportando a NetSuite");
                var changeProds = ProductosAdapter.ObtenerProductosTodos().Where(x => x.IsUpdated);
                var oBuyBox     = new BuyBox();
                foreach (var item in changeProds)
                {
                    try
                    {
                        oBuyBox.ReportarNetSuiteInicial(item.BuyBox, item.ASIN);
                        oBuyBox.ReportarNetSuiteComplete(item.ASIN);
                        item.IsUpdated = false;
                        ProductosAdapter.Actualizar(item);
                    }
                    catch (Exception ex)
                    {
                        OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{GetMessageError(ex)}/{ex.StackTrace}");
                    }
                }

                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Fin de Proceso");
            }
            catch (Exception ex)
            {
                OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{GetMessageError(ex)}/{ex.StackTrace}");
            }
        }
Exemplo n.º 2
0
        public void GenerarProductosActualizados()
        {
            IEnumerable <Producto> lstProductos = ProductosAdapter.ObtenerProductosTodos().ToList();
            IEnumerable <string>   lstAsin      = lstProductos.Select(producto => producto.ASIN).ToList();

            if (!lstAsin.Any())
            {
                return;
            }
            var lstDataTable = new List <DataTable>();
            var oCorreo      = new Correo();

            var dtasins              = ASINAdapter.GetAllAsins().ConvertirADataTable("asin");
            var dtProductos          = lstProductos.ConvertirADataTable(Productos);
            var dtBuyBox             = BuyBoxAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Buybox);
            var dtCaracteristicas    = CaracteristicasAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Caracteristicas);
            var dtDimensiones        = DimensionesAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Dimensiones);
            var dtDimensionesPaquete = DimensionesPaqueteAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Dimensionespaquete);
            var dtResumen            = ResumenAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Resumen);
            var dtSimilares          = SimilaresAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Similares);
            var dtUpCs = UPCsAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Upcs);

            lstDataTable.Add(dtasins);
            lstDataTable.Add(dtProductos);
            lstDataTable.Add(dtBuyBox);
            lstDataTable.Add(dtResumen);
            lstDataTable.Add(dtCaracteristicas);
            lstDataTable.Add(dtDimensiones);
            lstDataTable.Add(dtDimensionesPaquete);
            lstDataTable.Add(dtSimilares);
            lstDataTable.Add(dtUpCs);

            var bytes = GenerarExcel(lstDataTable);

            var nombreArchivo = $"{DateTime.Now:yyyy-MM-dd HHmm} Productos Amazon.xlsx";
            var existoso      = oCorreo.EnviarMensaje(bytes, nombreArchivo);

            if (!existoso)
            {
                return;
            }
            foreach (var asin in lstAsin)
            {
                ProductosAdapter.ActualizarBandera(asin, false);
            }
        }