예제 #1
0
        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);
        }
예제 #2
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}");
            }
        }
예제 #3
0
        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}");
            }
        }
예제 #4
0
        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}|");
            }
        }
예제 #5
0
        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);
            });
        }
예제 #6
0
        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");
            }
        }