Пример #1
0
 public static bool ColocarNaLixeira(IPapel papel)
 {
     papel.LixoPapel();
     System.Console.WriteLine(papel.GetType().BaseType + " foi inserido na lixeira");
     Console.BackgroundColor = ConsoleColor.Blue;
     return(true);
 }
Пример #2
0
        public static void Reciclar(Lixo lixo)
        {
            string Papelao = new Papelao();



            Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault();

            if (tipoLixo.Equals(typeof(IPapel)))
            {
                IPapel lixoConvertido = (IPapel)lixo;
                Console.BackgroundColor = ConsoleColor.Blue;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPapel()} deve ir para a lixeira Azul");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IMetal)))
            {
                IMetal lixoConvertido = (IMetal)lixo;
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoMetal()} deve ir para a lixeira Amarela");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IPlastico)))
            {
                IPlastico lixoConvertido = (IPlastico)lixo;
                Console.BackgroundColor = ConsoleColor.Red;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPlastico()} deve ir para a lixeira Vermelha");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IVidro)))
            {
                IVidro lixoConvertido = (IVidro)lixo;
                Console.BackgroundColor = ConsoleColor.Green;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoVidro()} deve ir para a lixeira Verde");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IOrganico)))
            {
                IOrganico lixoConvertido = (IOrganico)lixo;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.BackgroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.JogarNaComposteira()} deve ir para a Composteira");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IIndefinido)))
            {
                IIndefinido lixoConvertido = (IIndefinido)lixo;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.BackgroundColor = ConsoleColor.Gray;
                System.Console.WriteLine($"{lixoConvertido.ProcurarOQueFazer()} deve ir para o descarte especial");
                Console.ResetColor();
            }
            else
            {
                System.Console.WriteLine("Tipo não identificado!");
            }
            System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
            Console.ReadLine();
        }
Пример #3
0
        public Impressora(IPapel papel)
        {
            if (papel == null)
            {
                throw new ArgumentNullException();
            }

            _papel = papel;
        }
Пример #4
0
        public static void Reciclar(Lixeiras lixo)
        {
            Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault();

            if (tipoLixo.Equals(typeof(IPapel)))
            {
                IPapel lixoConvertido = (IPapel)lixo;
                Console.BackgroundColor = ConsoleColor.Blue;
                System.Console.WriteLine($"{lixoConvertido.ReciclaPapel()} Este deve ir para a lixeira Azul ");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IMetal)))
            {
                IMetal lixoConvertido = (IMetal)lixo;
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.ReciclaMetal()} Este lixo deve ir para a lixeira Amarela ");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IPlastico)))
            {
                IPlastico lixoConvertido = (IPlastico)lixo;
                Console.BackgroundColor = ConsoleColor.Red;
                System.Console.WriteLine($"{lixoConvertido.ReciclaPlastico()} Este lixo deve ir para a lixeira Vermelha");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IVidro)))
            {
                IVidro lixoConvertido = (IVidro)lixo;
                Console.BackgroundColor = ConsoleColor.Green;
                System.Console.WriteLine($"{lixoConvertido.ReciclaVidro()} Este lixo deve ir para a lixeira Verde");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IOrganico)))
            {
                IOrganico lixoConvertido = (IOrganico)lixo;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.BackgroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.ReciclaOrganico()} Este lixo deve ir para a composteira ");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IDescarteEspecial)))
            {
                IDescarteEspecial lixoConvertido = (IDescarteEspecial)lixo;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.BackgroundColor = ConsoleColor.Gray;
                System.Console.WriteLine($"{lixoConvertido.DescarteEspecial()} Este lixo deve ir para o descarte especial");
                Console.ResetColor();
            }
            else
            {
                System.Console.WriteLine("Não identificado!");
            }
            System.Console.WriteLine("Aperte ENTER para voltar ao menu");
            Console.ReadLine();
        }
Пример #5
0
        public static void Reciclar(Lixo lixo)                               // Lixo é a superclasse (classe pai) para as outras classes herdarem dele e entrarem no dicionario
        {
            Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); // a variavel tipolixo verifica qual o tipo do lixo informado pelo usuario, atraves do Get.Type.. GetInterfaces serve pa

            if (tipoLixo.Equals(typeof(IPapel)))                             // typeof compara com o type tipolixo com o valor de Ipapel.. Equals serve para verificar se o tipolixo é igual o tipo dentro da interface IPapel
            {
                IPapel lixoConvertido = (IPapel)lixo;                        // tecnica casting.. a variavel lixo é inserida dentro da interface IPapel para afirmar que o lixo é um papel e use o método ReciclarFeitoPapel
                Console.BackgroundColor = ConsoleColor.Blue;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPapel()} deve ir para a lixeira Azul");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IMetal)))
            {
                IMetal lixoConvertido = (IMetal)lixo;
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoMetal()} deve ir para a lixeira Amarela");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IPlastico)))
            {
                IPlastico lixoConvertido = (IPlastico)lixo;
                Console.BackgroundColor = ConsoleColor.Red;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPlastico()} deve ir para a lixeira Vermelha");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IVidro)))
            {
                IVidro lixoConvertido = (IVidro)lixo;
                Console.BackgroundColor = ConsoleColor.Green;
                System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoVidro()} deve ir para a lixeira Verde");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IOrganico)))
            {
                IOrganico lixoConvertido = (IOrganico)lixo;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.BackgroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.JogarNaComposteira()} deve ir para a Composteira");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IIndefinido)))
            {
                IIndefinido lixoConvertido = (IIndefinido)lixo;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.BackgroundColor = ConsoleColor.Gray;
                System.Console.WriteLine($"{lixoConvertido.ProcurarOQueFazer()} deve ir para o descarte especial");
                Console.ResetColor();
            }
            else
            {
                System.Console.WriteLine("Tipo não identificado!");
            }
            System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
            Console.ReadLine();
        }
Пример #6
0
        public static void Reciclar(Lixo lixo)
        {
            Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault();

            if (tipoLixo.Equals(typeof(IPapel)))
            {
                IPapel lixoConvertido = (IPapel)lixo;
                Console.BackgroundColor = ConsoleColor.Blue;
                System.Console.WriteLine($"{lixoConvertido.ReciclarPapel()} deve ir para a lixeira Azul.");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IPlastico)))
            {
                IPlastico lixoConvertido = (IPlastico)lixo;
                Console.BackgroundColor = ConsoleColor.Red;
                System.Console.WriteLine($"{lixoConvertido.ReciclarPlastico()} deve ir para a lixeira Vermelha.");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IMetal)))
            {
                IMetal lixoConvertido = (IMetal)lixo;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.BackgroundColor = ConsoleColor.Yellow;
                System.Console.WriteLine($"{lixoConvertido.ReciclarMetal()} deve ir para a lixeira Amarela.");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IVidro)))
            {
                IVidro lixoConvertido = (IVidro)lixo;
                Console.BackgroundColor = ConsoleColor.Green;
                System.Console.WriteLine($"{lixoConvertido.ReciclarVidro()} dever ir para a lixeira Verde.");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IOrganico)))
            {
                IOrganico lixoConvertido = (IOrganico)lixo;
                Console.BackgroundColor = ConsoleColor.DarkGreen;
                System.Console.WriteLine($"{lixoConvertido.MandarCompostagem()} deve ir para a composteira.");
                Console.ResetColor();
            }
            else if (tipoLixo.Equals(typeof(IDescarteEspecial)))
            {
                IDescarteEspecial lixoConvertido = (IDescarteEspecial)lixo;
                Console.BackgroundColor = ConsoleColor.DarkGray;
                System.Console.WriteLine($"{lixoConvertido.ReciclarEspecial()} deve ir para o descarte especial.");
            }
            else
            {
                System.Console.WriteLine("Lixo não identificado");
            }
        }
Пример #7
0
        public static void InserirNaLixeira(IPapel lixo)
        {
            System.Console.WriteLine("O lixo está sujo ou molhado?");
            System.Console.WriteLine("          1- Sim          ");
            System.Console.WriteLine("          2- Não          ");
            switch (int.Parse(Console.ReadLine()))
            {
            case 1:
                IrParaAComposteira();
                break;

            case 2:
                lixo.IrParaLixeiraAzul();
                break;

            default:
                break;
            }
        }
Пример #8
0
        static void LataDeLixo(Lixo lixo)
        {
            var lixoInterface = lixo.GetType().GetInterfaces().GetValue(0);

            if (lixoInterface.Equals(typeof(IVidro)))
            {
                IVidro material = (IVidro)lixo;
                string mensagem = $"{material.Reciclar()} deve ir para a lixeira Verde";
                ImprimeMensagem(ConsoleColor.Green, ConsoleColor.White, mensagem);
            }
            else if (lixoInterface.Equals(typeof(IPlastico)))
            {
                IPlastico material = (IPlastico)lixo;
                string    mensagem = $"{material.Reciclar()} deve ir para a lixeira Vermelha";
                ImprimeMensagem(ConsoleColor.Red, ConsoleColor.White, mensagem);
            }
            else if (lixoInterface.Equals(typeof(IPapel)))
            {
                IPapel material = (IPapel)lixo;
                string mensagem = $"{material.Reciclar()} deve ir para a lixeira Azul";
                ImprimeMensagem(ConsoleColor.Blue, ConsoleColor.White, mensagem);
            }
            else if (lixoInterface.Equals(typeof(IOrganico)))
            {
                IOrganico material = (IOrganico)lixo;
                string    mensagem = $"{material.Reciclar()} deve ir para a lixeira Marrom";
                ImprimeMensagem(ConsoleColor.Black, ConsoleColor.White, mensagem);
            }
            else if (lixoInterface.Equals(typeof(IMetal)))
            {
                IMetal material = (IMetal)lixo;
                string mensagem = $"{material.Reciclar()} deve ir para a lixeira Amarela";
                ImprimeMensagem(ConsoleColor.Yellow, ConsoleColor.Black, mensagem);
            }
            else if (lixoInterface.Equals(typeof(IIndefinido)))
            {
                IIndefinido material = (IIndefinido)lixo;
                string      mensagem = $"{material.Reciclar()} deve ir para a lixeira Cinza";
                ImprimeMensagem(ConsoleColor.Gray, ConsoleColor.White, mensagem);
            }
        }
Пример #9
0
        private static void Bridge()
        {
            #region Brigde

            // Bridge neste exemplo é o IPapel, dentro da classe concreta Impressora
            // Neste exemplo estamos passando a instância no construtor, um princípio de Inversão de Controle

            // Selecionar um papel
            TipoPapelEnum tipoPapel = TipoPapelEnum.Vegetal;
            IPapel        papel     = null;

            switch (tipoPapel)
            {
            case TipoPapelEnum.Glossy:
                papel = new PapelGlossy();
                break;

            case TipoPapelEnum.Reciclado:
                papel = new PapelReciclado();
                break;

            case TipoPapelEnum.Sulfite:
                papel = new PapelSulfite();
                break;

            case TipoPapelEnum.Vegetal:
                papel = new PapelVegetal();
                break;
            }

            Impressora impressora = new Impressora(papel);
            GerenciadorSaida.SaidaConsole.EscreverTexto(impressora.PapelConfigurado());
            GerenciadorSaida.SaidaConsole.EscreverTexto(impressora.Imprimir());

            #endregion Brigde
        }
Пример #10
0
        public static void Reciclar(Lixo lixo)
        {
            Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault();

            if (tipoLixo.Equals(typeof(IPapel)))
            {
                IPapel lixoConvertido = (IPapel)lixo;
                System.Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Blue;
                Console.ForegroundColor = ConsoleColor.White;
                System.Console.WriteLine($"{lixoConvertido.LataAzul()} deve ir para a lixeira Azul");
                Console.ResetColor();
            }

            else if (tipoLixo.Equals(typeof(IMetal)))
            {
                IMetal lixoConvertido = (IMetal)lixo;
                System.Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.LataAmarela()} deve ir para a lixeira Amarela");
                Console.ResetColor();
            }

            else if (tipoLixo.Equals(typeof(IPlastico)))
            {
                IPlastico lixoConvertido = (IPlastico)lixo;
                System.Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Red;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.LataVermelha()} deve ir para a lixeira Vermelha");
                Console.ResetColor();
            }

            else if (tipoLixo.Equals(typeof(IVidro)))
            {
                IVidro lixoConvertido = (IVidro)lixo;
                System.Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Green;
                Console.ForegroundColor = ConsoleColor.Black;
                System.Console.WriteLine($"{lixoConvertido.LataVerde()} deve ir para a lixeira Verde");
                Console.ResetColor();
            }

            else if (tipoLixo.Equals(typeof(INaoReciclavel)))
            {
                INaoReciclavel lixoConvertido = (INaoReciclavel)lixo;
                System.Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.DarkGray;
                Console.ForegroundColor = ConsoleColor.White;
                System.Console.WriteLine($"{lixoConvertido.LataCinza()} deve ir para a lixeira Cinza");
                Console.ResetColor();
            }

            else
            {
                System.Console.WriteLine();
                System.Console.WriteLine("Tipo não identificado!");
            }

            System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
            Console.ReadLine();
        }
Пример #11
0
 public static bool ReciclarNovo(IPapel papel)
 {
     return("Seu lixo é o da cor Azul - Papel");
 }
Пример #12
0
 public static void Mostrar(IPapel materiais)
 {
     Console.ForegroundColor = ConsoleColor.Blue;
     materiais.LixoAzul();
     Console.ResetColor();
 }
Пример #13
0
 public static void ColocarNoLixo(IPapel lixo)
 {
     lixo.reciclarPapel();
     System.Console.WriteLine("Indo Reciclar.                        ");
 }
Пример #14
0
 public static void ColocarNaLixeira(IPapel material)
 {
     material.LixeiraAzul();
 }
 private static void CaixaDeLeite(IPapel Papel)
 {
     Papel.GetType().GetInterface("IPapel");
 }
Пример #16
0
 public static void ReciclarNovo(IPapel papel)
 {
 }
Пример #17
0
 public static void MostrarInterface(IPapel lixo)
 {
     lixo.ReciclarComoPapel();
 }