示例#1
0
        //Metodos publicos

        public bool AddEntrada <T>(T entrada) where T : Entrada
        {
            if (TipoEstaPermitido <T>())
            {
                Console.WriteLine("Add Entrada Fail " + entrada.GetType().Name);
                return(false);
            }

            if (Entradas.Count <= 0)
            {
                Entradas.Enqueue(entrada);
                lastEntrada = entrada;
                UpdateTypesPermitidos(entrada);
                Console.WriteLine("Add Entrada Succes " + entrada.GetType().Name);
                UpdatedCalculator();
                return(true);
            }

            if (lastEntrada.CheckForComposition(entrada))
            {
                UpdatedCalculator();
                Console.WriteLine("Add Entrada Succes Compuesta" + entrada.GetType().Name);
                return(true);
            }

            Entradas.Enqueue(entrada);
            UpdateTypesPermitidos(entrada);
            lastEntrada = entrada;
            Console.WriteLine("Add Entrada Succes " + entrada.GetType().Name);
            UpdatedCalculator();
            return(true);
        }