Пример #1
0
        public decimal buscarCambio(List <RatesMarca> lista, string from)
        {
            // Buscamos en la lista si está el elemento con una conversion directa To="E"
            RatesMarca buscar = buscarEUR(lista, from);

            if (from == "EUR")
            {
                Console.WriteLine("Valor buscado no puede ser E");
                return(valor);
            }
            if (encontrado)
            {
                // valor = valor * buscar.Rate;
                //Console.WriteLine("Hay busqueda directa");
                //Console.WriteLine(string.Format("{0} {1} {2} {3}", buscar.From, buscar.To, buscar.Rate, valor));
                //Console.ReadLine();
            }
            else
            {
                Console.WriteLine("NO hay busqueda directa de: " + from);
                buscarNoEUR(lista, from);
                if (encontrado)
                {
                    return(valor);
                }
                else
                {
                    buscarCambio(lista, devolver.To);
                }
                //Console.ReadLine();
            }
            return(valor);
        }
Пример #2
0
 public RatesMarca buscarNoEUR(List <RatesMarca> lista, string from)
 {
     devolver = new RatesMarca {
         From = from, To = "EUR", Rate = -1, Marcado = "N"
     };
     //bool Encontrado = false;
     foreach (RatesMarca ratio in lista)
     {
         if (ratio.From == from && ratio.Marcado != "S")
         {
             lista    = marcar(lista, ratio.From, ratio.To); // marcar el mismo para no volver a pasar
             lista    = marcar(lista, ratio.To, ratio.From); // marcar contrario para la vez siguiente
             valor    = valor * ratio.Rate;
             devolver = ratio;
             return(ratio);
         }
     }
     return(devolver);
 }
Пример #3
0
        public RatesMarca buscarEUR(List <RatesMarca> lista, string from)
        {
            RatesMarca devolver = new RatesMarca {
                From = "EUR", To = "EUR", Rate = -1, Marcado = "N"
            };

            //bool Encontrado = false;
            foreach (RatesMarca ratio in lista)
            {
                if (ratio.From == from && ratio.To.ToUpper() == "EUR")
                {
                    valor      = valor * ratio.Rate;
                    encontrado = true;
                    devolver   = ratio;
                    return(ratio);
                }
            }
            return(devolver);
        }