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}"); } }
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); } }