示例#1
0
        private void ValidacionDatosUpCs(List <UPCs> lstUpcsNuevos)
        {
            if (lstUpcsNuevos != null)
            {
                string      asin          = lstUpcsNuevos.First().ASIN;
                List <UPCs> lstUpcsViejos = UPCsAdapter.ObtenerUpcs(asin);

                List <string> lstUpcNuevos = (from upc in lstUpcsNuevos
                                              select upc.UPC).ToList();

                List <string> lstUpcViejos = (from upc in lstUpcsViejos
                                              select upc.UPC).ToList();

                IEnumerable <string> nuevos = lstUpcNuevos.Except(lstUpcViejos);
                IEnumerable <string> bajas  = lstUpcViejos.Except(lstUpcNuevos);

                if (nuevos.Count() > 0)
                {
                    List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var nuevo in nuevos)
                    {
                        CampoActualizado campo = new CampoActualizado
                        {
                            Campo      = "UPCs",
                            ValorNuevo = nuevo
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);

                    CambioUpcs = true;
                    Cambio     = true;
                }

                if (bajas.Count() > 0)
                {
                    List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var baja in bajas)
                    {
                        CampoActualizado campo = new CampoActualizado
                        {
                            Campo      = "Caracteristicas",
                            ValorViejo = baja,
                            ValorNuevo = ""
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);

                    CambioUpcs = true;
                    Cambio     = true;
                }
            }
        }
示例#2
0
        private void ValidacionDatosCaracteristicas(List <Caracteristicas> lstCaracteristicasNuevas)
        {
            if (lstCaracteristicasNuevas != null)
            {
                string asin = lstCaracteristicasNuevas.First().ASIN;
                List <Caracteristicas> lstCaracteristicasViejas = CaracteristicasAdapter.ObtenerCaracteristicas(asin);

                List <string> lstCaracteristicasNuevos = (from caracteristica in lstCaracteristicasNuevas
                                                          select caracteristica.Caracteristica).ToList();

                List <string> lstCaracteristicasViejos = (from caracteristica in lstCaracteristicasViejas
                                                          select caracteristica.Caracteristica).ToList();

                var nuevos = lstCaracteristicasNuevos.Except(lstCaracteristicasViejos);
                var bajas  = lstCaracteristicasViejos.Except(lstCaracteristicasNuevos);

                if (nuevos.Count() > 0)
                {
                    List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var nuevo in nuevos)
                    {
                        CampoActualizado campo = new CampoActualizado
                        {
                            Campo      = "Caracteristicas",
                            ValorNuevo = nuevo
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);

                    cambioCaracteristicas = true;
                    Cambio = true;
                }

                if (bajas.Count() > 0)
                {
                    List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var baja in bajas)
                    {
                        CampoActualizado campo = new CampoActualizado
                        {
                            Campo      = "Caracteristicas",
                            ValorViejo = baja,
                            ValorNuevo = ""
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);

                    cambioCaracteristicas = true;
                    Cambio = true;
                }
            }
        }
示例#3
0
        private void ValidacionDatosSimilares(List <Similares> lstSimilaresNuevos)
        {
            if (lstSimilaresNuevos != null)
            {
                var asin = lstSimilaresNuevos.First().ASIN;
                var lstSimilaresViejos = SimilaresAdapter.ObtenerSimilares(asin);

                var lstAsinSimilaresNuevos = (from similar in lstSimilaresNuevos
                                              select similar.ASINSimilar).ToList();

                var lstAsinSimilaresViejos = (from similar in lstSimilaresViejos
                                              select similar.ASINSimilar).ToList();

                var nuevos = lstAsinSimilaresNuevos.Except(lstAsinSimilaresViejos);
                var bajas  = lstAsinSimilaresViejos.Except(lstAsinSimilaresNuevos);

                if (nuevos.Any())
                {
                    var lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var nuevo in nuevos)
                    {
                        CampoActualizado campo = new CampoActualizado
                        {
                            Campo      = "ASINSimilar",
                            ValorNuevo = nuevo
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);
                    cambioSimilares = true;
                    Cambio          = true;
                }

                if (bajas.Count() > 0)
                {
                    List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>();
                    foreach (var baja in bajas)
                    {
                        var campo = new CampoActualizado
                        {
                            Campo      = "ASINSimilar",
                            ValorViejo = baja,
                            ValorNuevo = ""
                        };

                        lstCamposActualizado.Add(campo);
                    }

                    productoActualizado.Campos.AddRange(lstCamposActualizado);
                    cambioSimilares = true;
                    Cambio          = true;
                }
            }
        }
示例#4
0
        public static List <CampoActualizado> DetailedCompare <T>(this T val1, T val2)
        {
            List <CampoActualizado> variantes = new List <CampoActualizado>();

            FieldInfo[] fi = val1.GetType().GetFields(BindingFlags.Instance |
                                                      BindingFlags.Static |
                                                      BindingFlags.NonPublic |
                                                      BindingFlags.Public);
            foreach (FieldInfo f in fi)
            {
                if (!f.Name.Equals("<Actualizacion>k__BackingField"))
                {
                    if (f.FieldType.Name == "String" || f.FieldType.Name == "Int64" || f.FieldType.Name == "Boolean" || f.FieldType.Name == "Int32" ||
                        f.FieldType.Name == "Decimal")
                    {
                        try
                        {
                            var prod = new CampoActualizado
                            {
                                Campo      = f.Name,
                                ValorNuevo = f.GetValue(val1) != null?f.GetValue(val1) : null,
                                                 ValorViejo = val2 != null?f.GetValue(val2) : null
                            };
                            if (prod.ValorNuevo != null && prod.ValorViejo != null)
                            {
                                if (!prod.ValorNuevo.Equals(prod.ValorViejo))
                                {
                                    variantes.Add(prod);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine($"-----------------El valor con error es: \nvalor1: {val1}\nvalor2: {val2}\n\n");
                            Console.WriteLine(ex);
                        }
                    }
                }
            }
            return(variantes);
        }