Exemple #1
0
        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;
        }
Exemple #2
0
        public void ValidarCambios(List <of.BuyBox> buyBoxes)
        {
            if (buyBoxes != null)
            {
                var productoActualizado = new ProductoActualizado
                {
                    ASIN   = buyBoxes.First().ASIN,
                    BuyBox = new List <BuyBoxActualizado>()
                };

                OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando datos BuyBox");
                foreach (var buyBoxNuevo in buyBoxes)
                {
                    var buyBoxViejo = BuyBoxAdapter.ObtenerBuyBox(buyBoxNuevo.ASIN, buyBoxNuevo.Condition);

                    if (buyBoxViejo != null)
                    {
                        ValidarMerchantBuyBox(buyBoxNuevo.Merchant, buyBoxViejo.Merchant);

                        List <CampoActualizado> lstCamposActualizado = buyBoxNuevo.DetailedCompare(buyBoxViejo);

                        if (lstCamposActualizado.Count > 0)
                        {
                            productoActualizado.BuyBox.AddRange((from campo in lstCamposActualizado
                                                                 select new BuyBoxActualizado
                            {
                                Campo = campo.Campo,
                                Condicion = buyBoxNuevo.Condition,
                                ValorNuevo = campo.ValorNuevo,
                                ValorViejo = campo.ValorViejo
                            }).ToList());
                            CambioBuyBox = true;
                            Cambio       = true;
                            AgregarDicNetSuite(buyBoxNuevo, buyBoxNuevo.ASIN);
                        }
                    }
                    else
                    {
                        CambioBuyBox = true;
                        Cambio       = true;

                        ValidarMerchantBuyBox(buyBoxNuevo.Merchant, "");

                        AgregarDicNetSuite(buyBoxNuevo, buyBoxNuevo.ASIN);
                    }
                }

                if (CambioBuyBox)
                {
                    if (LstProductoActualizado == null)
                    {
                        LstProductoActualizado = new List <ProductoActualizado>();
                    }

                    LstProductoActualizado.Add(productoActualizado);
                }
            }
        }
Exemple #3
0
 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);
 }
Exemple #4
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);
            }
        }
Exemple #5
0
        private void UpdateBuyboxInfo(string asin, string internalId)
        {
            var buybox = BuyBoxAdapter.ObtenerBuyBox(asin);

            foreach (var item in buybox)
            {
                var value   = ObtenerRecordId("339", "BuyBox Info", internalId, 11, "custrecord_bb_item");
                var rec     = new SuiteTalkWs.CustomRecord();
                var recType = new SuiteTalkWs.RecordRef
                {
                    internalId = "339",
                    name       = "BuyBox Info"
                };
                rec.recType         = recType;
                rec.name            = "BuyBox Info";
                rec.customFieldList = CustomListBuyboxInfo(item, internalId);
                if (!string.IsNullOrEmpty(value))
                {
                    rec.internalId = value;
                    var resUpdate = _client.update(rec);
                    if (resUpdate.status.isSuccess)
                    {
                        continue;
                    }
                    var res = _client.add(rec);
                    _bitacora.GuardarLinea(res.status.isSuccess
                        ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                        : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                    continue;
                }
                var res2 = _client.add(rec);
                _bitacora.GuardarLinea(res2.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
            }
        }