public void ReportarNetSuiteInicial(List <of.BuyBox> buyBoxes, string asin) { DicDatosNetSuite = new Dictionary <string, Dictionary <string, string> >(); if (buyBoxes == null) { buyBoxes = BuyBoxAdapter.ObtenerBuyBox(asin); } if (DicDatosNetSuite == null) { DicDatosNetSuite = new Dictionary <string, Dictionary <string, string> >(); } var prod = ProductosAdapter.ObtenerProducto(asin); Dictionary <string, string> campos = new Dictionary <string, string> { { "custitem_ib_update_buybox_date", DateTime.Now.ToString("dd/MM/yyyy") } }; if (buyBoxes != null && buyBoxes.Any()) { campos.Add(Box, buyBoxes.First().Merchant.Equals("Ibushak") ? "true" : "false"); } campos.Add(Precio, prod.FormattedPrice); DicDatosNetSuite.Add(asin, campos); Cambio = true; }
public bool ActualizarDatos(Producto producto) { OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos producto"); if (CambioProducto) { ProductosAdapter.Actualizar(producto); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos dimensiones"); if (cambioDimensiones) { DimensionesAdapter.Actualizar(producto.Dimensiones); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos dimensiones paquete"); if (cambioDimensionesPaquete) { DimensionesPaqueteAdapter.Actualizar(producto.DimensionesPaquete); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos resumen"); if (cambioResumen) { ResumenAdapter.Actualizar(producto.Resumen); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos simialres"); if (cambioSimilares) { SimilaresAdapter.Actualizar(producto.Similares); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos caracteristicas"); if (cambioCaracteristicas) { CaracteristicasAdapter.Actualizar(producto.Caracteristicas); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos upcs"); if (CambioUpcs) { UPCsAdapter.Actualizar(producto.UPCs); } if (!CambioProducto && (cambioDimensiones || cambioDimensionesPaquete || cambioResumen || cambioSimilares || cambioCaracteristicas || CambioUpcs)) { ProductosAdapter.ActualizarBandera(producto.ASIN, true); } CambioProducto = false; cambioDimensiones = false; cambioDimensionesPaquete = false; cambioResumen = false; cambioSimilares = false; cambioCaracteristicas = false; CambioUpcs = false; return(true); }
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 bool ActualizarBuyBox(List <of.BuyBox> buyBoxes) { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos BuyBox"); if (CambioBuyBox) { BuyBoxAdapter.ActualizarBuyBox(buyBoxes); ProductosAdapter.ActualizarBandera(buyBoxes.First().ASIN, true); } CambioBuyBox = false; return(true); }
private void ValidacionDatosProducto(Producto productoNuevo) { Producto productoViejo = ProductosAdapter.ObtenerProducto(productoNuevo.ASIN); List <CampoActualizado> lstCamposActualizado = productoNuevo.DetailedCompare(productoViejo); if (lstCamposActualizado.Count <= 0) { return; } productoActualizado.Campos.AddRange(lstCamposActualizado); CambioProducto = true; Cambio = true; }
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); } }
private void ProcesarItems(Items items) { var oItemLookupParseo = new ItemLookupParseo(); var oBuyBox = new BuyBox(); var oDatos = new Datos(); try { if (items.Item == null) { return; } OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Comienza iteracion de elementos"); foreach (var producto in items.Item) { if (producto.Errors != null) { foreach (var error in producto.Errors) { OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error respuesta amazon producto|{error.Message}|"); try { if (ProductosAdapter.Existe(error.Message.Split(' ').First())) { ProductosAdapter.Actualizar(new Producto { ASIN = error.Message.Split(' ').First(), Offers = $"{error.Code}|{error.Message}" }); } else { ProductosAdapter.Insertar(new Producto { ASIN = error.Message.Split(' ').First(), Offers = $"{error.Code}|{error.Message}", UPC = "", Label = "", Actualizacion = false, Amount = "", Binding = "", Brand = "", BuyBox = null, Caracteristicas = null, ClothingSize = "", Color = "", Comentarios = null, CurrencyCode = "", Department = "", Dimensiones = null, DimensionesPaquete = null, EAN = "", FormattedPrice = "", LargeImage = "", LegalDisclaimer = "", MPN = "", Manufacture = "", MediumImage = "", Model = "", NumberItems = 0, PackageQuantity = 0, PartNumber = "", ProdcutTypeName = "", ProductGroup = "", Publisher = "", ReleaseDate = "", Resumen = null, SalesRank = 0, Similares = null, Size = "", SmallImage = "", Studio = "", Title = "", UPCs = null, isAdultProduct = false, isAutographed = false, isMemorabilia = false }); } } catch (Exception ex) { Console.WriteLine("Error guardar errores amazon: " + GetMessageError(ex)); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Guardar amazon error|{ GetMessageError(ex) }"); } } } try { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Parseando item a producto { producto.ASIN }"); var prod = oItemLookupParseo.Parser(producto); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando si existe el producto"); if (!ProductosAdapter.Existe(prod.ASIN)) { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Insertando producto a la base de datos"); ProductosAdapter.Insertar(prod); oBuyBox.ReportarNetSuiteInicial(prod.BuyBox, prod.ASIN); } else { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando datos"); oDatos.ValidacionDatos(prod); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos"); oDatos.ActualizarDatos(prod); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando BuyBox"); oBuyBox.ValidarCambios(prod.BuyBox); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Actualizando BuyBox"); oBuyBox.ActualizarBuyBox(prod.BuyBox); } if (oBuyBox.Cambio) { prod.IsUpdated = true; ProductosAdapter.Actualizar(prod); //OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Reportando a NetSuite"); //oBuyBox.ReportarNetSuiteComplete(prod.ASIN); } } catch (DbEntityValidationException ex) { var resultErrors = ex.EntityValidationErrors.Aggregate("", (current1, validationErrors) => validationErrors.ValidationErrors.Aggregate(current1, (current, validationError) => current + $"NValid.{validationErrors.Entry.Entity}:{validationError.ErrorMessage}")); OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{producto.ASIN} {resultErrors} /{GetMessageError(ex)}|"); } catch (Exception ex) { OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{producto.ASIN} {GetMessageError(ex)}/{ex.StackTrace}|"); } } //OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Reportando a NetSuite"); //oBuyBox.ReportarNetSuiteComplete(); //if (oBuyBox.cambio) //{ // OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Reportando a NetSuite"); // //oBuyBox.ReportarNetSuite(); // oBuyBox.ReportarNetSuiteComplete(ProductosAdapter.); //} OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Termina iteracion de elementos"); } catch (DbEntityValidationException ex) { var resultErrors = ex.EntityValidationErrors.Aggregate("", (current1, validationErrors) => validationErrors.ValidationErrors.Aggregate(current1, (current, validationError) => current + $"NValid.{validationErrors.Entry.Entity}:{validationError.ErrorMessage}")); OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{resultErrors} /{GetMessageError(ex)}|"); } catch (Exception ex) { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{GetMessageError(ex)}/{ex.StackTrace}"); } }
private void ValidacionProductosAsin(ItemLookupResponse reponseAsin) { try { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Revisando que la lista ASIN no tenga errores"); if (reponseAsin.Items.First().Request.Errors != null) { foreach (var error in reponseAsin.Items.First().Request.Errors) { if (error.Message != "Este artículo no es accesible mediante la API para publicidad de productos.") { OBitacora.GuardarLinea( $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error respuesta amazon producto|{error.Message}|"); if (!ProductosAdapter.Existe(error.Message.Split(' ').First())) { try { if (ProductosAdapter.Existe(error.Message.Replace("\n", "").Split(' ').First())) { ProductosAdapter.Actualizar(new Producto { ASIN = error.Message.Replace("\n", "").Split(' ').First(), Offers = $"{error.Code}|{error.Message}", UPC = "", Label = "", Actualizacion = false, Amount = "", Binding = "", Brand = "", BuyBox = null, Caracteristicas = null, ClothingSize = "", Color = "", Comentarios = null, CurrencyCode = "", Department = "", Dimensiones = null, DimensionesPaquete = null, EAN = "", FormattedPrice = "", LargeImage = "", LegalDisclaimer = "", MPN = "", Manufacture = "", MediumImage = "", Model = "", NumberItems = 0, PackageQuantity = 0, PartNumber = "", ProdcutTypeName = "", ProductGroup = "", Publisher = "", ReleaseDate = "", Resumen = null, SalesRank = 0, Similares = null, Size = "", SmallImage = "", Studio = "", Title = "", UPCs = null, isAdultProduct = false, isAutographed = false, isMemorabilia = false }); } else { ProductosAdapter.Insertar(new Producto { ASIN = error.Message.Replace("\n", "").Split(' ').First(), Offers = $"{error.Code}|{error.Message}", UPC = "", Label = "", Actualizacion = false, Amount = "", Binding = "", Brand = "", BuyBox = null, Caracteristicas = null, ClothingSize = "", Color = "", Comentarios = null, CurrencyCode = "", Department = "", Dimensiones = null, DimensionesPaquete = null, EAN = "", FormattedPrice = "", LargeImage = "", LegalDisclaimer = "", MPN = "", Manufacture = "", MediumImage = "", Model = "", NumberItems = 0, PackageQuantity = 0, PartNumber = "", ProdcutTypeName = "", ProductGroup = "", Publisher = "", ReleaseDate = "", Resumen = null, SalesRank = 0, Similares = null, Size = "", SmallImage = "", Studio = "", Title = "", UPCs = null, isAdultProduct = false, isAutographed = false, isMemorabilia = false }); } } catch (Exception ex) { Console.WriteLine("Error guardar errores amazon: " + GetMessageError(ex)); OBitacora.GuardarLinea( $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Guardar amazon error|{GetMessageError(ex)}"); } } } } } OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Obteniendo elemento ASIN"); var productosAsin = reponseAsin.Items.First(); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Procesando elementos ASIN"); ProcesarItems(productosAsin); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Fin de proceso de elementos ASIN"); } catch (DbEntityValidationException ex) { var resultErrors = ex.EntityValidationErrors.Aggregate("", (current1, validationErrors) => validationErrors.ValidationErrors.Aggregate(current1, (current, validationError) => current + $"NValid.{validationErrors.Entry.Entity}:{validationError.ErrorMessage}")); OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{resultErrors} /{GetMessageError(ex)}|"); } catch (Exception ex) { OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{GetMessageError(ex)}/{ex.StackTrace}|"); } }
private void ValidacionProductosUpc(ItemLookupResponse responseUpc) { try { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Revisando que la lista UPC no tenga errores"); if (responseUpc.Items.First().Request.Errors != null) { foreach (var error in responseUpc.Items.First().Request.Errors) { OBitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|{error.Message}|"); if (!ProductosAdapter.Existe(error.Message.Split(' ').First())) { try { ProductosAdapter.Insertar(new Producto { ASIN = error.Message.Split(' ').First(), Offers = $"{error.Code}|{error.Message}", UPC = "", Label = "", Actualizacion = false, Amount = "", Binding = "", Brand = "", BuyBox = null, Caracteristicas = null, ClothingSize = "", Color = "", Comentarios = null, CurrencyCode = "", Department = "", Dimensiones = null, DimensionesPaquete = null, EAN = "", FormattedPrice = "", LargeImage = "", LegalDisclaimer = "", MPN = "", Manufacture = "", MediumImage = "", Model = "", NumberItems = 0, PackageQuantity = 0, PartNumber = "", ProdcutTypeName = "", ProductGroup = "", Publisher = "", ReleaseDate = "", Resumen = null, SalesRank = 0, Similares = null, Size = "", SmallImage = "", Studio = "", Title = "", UPCs = null, isAdultProduct = false, isAutographed = false, isMemorabilia = false }); } catch (Exception ex) { Console.WriteLine("Error guardar errores amazon: " + GetMessageError(ex)); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Guardar amazon error|{ GetMessageError(ex) }"); } } } } OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Obteniendo elementos UPC"); var productosUpc = responseUpc.Items.First(); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Procesando elementos UPC"); ProcesarItems(productosUpc); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Fin proceso de elementos UPC"); } catch (Exception ex) { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error Productos|{GetMessageError(ex)}/{ex.StackTrace}"); } }
private void ProcesarAsin(IEnumerable <ASIN> lstAsins) { ItemLookupResponse responseAsin; OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Generando la lista de ASIN"); var lstAsin = (from asin in lstAsins select asin.Id).ToList(); OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Dividiendo la lista de ASIN en sublistas de 10"); var subLstAsin = lstAsin .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / 10) .Select(x => x.Select(v => v.Value.Replace("\r", "").Replace("\n", "")).ToList()) .ToList(); subLstAsin.ForEach(lst => { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Obteniendo datos de AWS de la lista ASIN"); Thread.Sleep(2000); responseAsin = OAwsHelper.ItemLookUp(lst, ItemLookupRequestIdType.ASIN); if (responseAsin.Items.First().Item == null || responseAsin.Items.First().Item.Length != lst.Count) { foreach (var item in lst) { if (responseAsin.Items.First().Item == null) { if (!ProductosAdapter.Existe(item)) { ProductosAdapter.Insertar(new Producto { ASIN = item.Replace("\r\n", ""), Offers = "No esta disponible en la api" }); } else { ProductosAdapter.Actualizar(new Producto { ASIN = item, Offers = "No esta disponible en la api" }); } continue; } var response = responseAsin.Items.First().Item.Select(x => x.ASIN).ToList(); if (!response.Contains(item.Replace("\r\n", ""))) { if (!ProductosAdapter.Existe(item.Replace("\r\n", ""))) { ProductosAdapter.Insertar(new Producto { ASIN = item.Replace("\r\n", ""), Offers = "No esta disponible en la api" }); } else { ProductosAdapter.Actualizar(new Producto { ASIN = item.Replace("\r\n", ""), Offers = "No esta disponible en la api" }); } } } } OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando Productos ASIN"); ValidacionProductosAsin(responseAsin); }); }
public void ActualizarCamposCompleto(string asin) { var product = ProductosAdapter.ObtenerProducto(asin); _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Obteniendo {asin} de netsuite"); var internalId = ObtenerId(asin); if (internalId != null && !internalId.Equals("-1")) { product.Netsuite = ""; ProductosAdapter.Actualizar(product); _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Buybox"); try { UpdateBuybox(product, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Buybox Info"); try { UpdateBuyboxInfo(product.ASIN, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Resumen ofertas"); try { UpdateResumenOfertas(product, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Dimensiones"); try { UploadDimensiones(product.ASIN, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Dimensiones paquete"); try { UploadDimensionesPaquete(product.ASIN, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Similares"); try { UploadSimi(product.ASIN, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Caracteristicas"); try { UploadCaracteristicas(product.ASIN, internalId); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } } else { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Buybox"); try { UpdateBuybox(product, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Buybox Info"); try { UpdateBuyboxInfo(product.ASIN, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Resumen ofertas"); try { UpdateResumenOfertas(product, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Dimensiones"); try { UploadDimensiones(product.ASIN, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Dimensiones paquete"); try { UploadDimensionesPaquete(product.ASIN, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Similares"); try { UploadSimi(product.ASIN, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Reportando Caracteristicas"); try { UploadCaracteristicas(product.ASIN, ""); } catch (Exception ex) { _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{ex.Message}/{ex.StackTrace}"); } var prod = ProductosAdapter.ObtenerProducto(asin); prod.Netsuite = "No existe en netsuite"; ProductosAdapter.Actualizar(prod); _bitacora.GuardarLinea($"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|El asin {asin} no existe en netsuite"); } }
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); } }