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); } }
public bool CargarAsinUpcs(string path) { try { ASINAdapter.DeleteTable(); UPCAdapater.DeleteTable(); ProductosAdapter.DeleteTable(); var lstUpc = GenerarListaAsinUpcs(path); var lstAsin = new List <string>(); var lstUpcs = new List <string>(); var countAsin = 0; var countUpc = 0; foreach (var upcs in lstUpc.Distinct()) { var asin = upcs[0]; var upc = upcs[1]; if (asin.ToLower().Trim() == "asin" || asin.ToLower().Trim() == "upc") { continue; } if (!asin.Equals("")) { countAsin++; if (!ASINAdapter.Existe(asin)) { lstAsin.Add(asin.Trim()); } } if (upc.Equals("")) { continue; } countUpc++; if (UPCAdapater.Existe(upc)) { continue; } lstUpcs.Add(upc.Trim()); } if (lstAsin.Any()) { ASINAdapter.AgregarAsiNs(lstAsin.Distinct(StringComparer.CurrentCultureIgnoreCase).Select(x => new ASIN { Id = x }).ToList()); } if (lstUpcs.Any()) { UPCAdapater.agregarUPCs(lstUpcs.Distinct(StringComparer.CurrentCultureIgnoreCase).Select(x => new UPC { Id = x }).ToList()); } File.Delete(path); MessageCount = $"Total ASIN: {countAsin}\nIngresados en base:{lstAsin.Distinct(StringComparer.CurrentCultureIgnoreCase).Count()}\n" + $"Total UPC: {countUpc}\nIngresados en base: {lstUpcs.Distinct(StringComparer.CurrentCultureIgnoreCase).Count()}"; return(true); } catch (Exception ex) { ErrorMensaje = ex.Message; return(false); } }