Ejemplo n.º 1
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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }