Example #1
0
        //Abstract Factory
        //Vai criar uma Factory que sabe tratar os dados especificos com base em uma propriedade
        //No caso o ID da fila

        public static ITratamento CriarClasseTratamentoWebhook(DadosRetronadosWebhook dados)
        {
            Console.WriteLine("  AbstractFactory :: Selecionando a Factory de Tratamento com base na Fila");

            switch (dados.Dados.Fila)
            {
            case 1:
                Console.WriteLine("  AbstractFactory :: Selecionado a Factory Bereau");
                return(new TratamentoRetornoBereauFactory(dados));

            case 2:
                Console.WriteLine("  AbstractFactory :: Selecionado a Factory SPA");
                return(new TratamentoRetornoSPAFactory(dados));

            default:
                throw new ArgumentException("Tratamento não reconhecido");
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Client :: Instanciando Objeto do Bereau");
            DadosRetronadosWebhook retornoBereau = new DadosRetronadosWebhook()
            {
                Identification = new object(),
                Dados          = new DadosRetorno()
                {
                    Fila    = 1,
                    Retorno = "Bereau é dificil de escrever, mas vim pelo webhook"
                }
            };

            Console.WriteLine("Client :: Obtendo a Factory que sabe converter o dados Retorno em Bereau");
            ITratamento _classeTratamentoBereau = TratamentoFactory.CriarClasseTratamentoWebhook(retornoBereau);

            Console.WriteLine("Client :: Tratando os dados do Bereau");
            _classeTratamentoBereau.TratarDadosRetorno();


            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("Client :: Instanciando Objeto do SPA");
            DadosRetronadosWebhook retornoSPA = new DadosRetronadosWebhook()
            {
                Identification = new object(),
                Dados          = new DadosRetorno()
                {
                    Fila    = 2,
                    Retorno = "Dados de Entrada vindos do webhook para o SPA"
                }
            };

            Console.WriteLine("Client :: Obtendo a Factory que sabe converter o dados Retorno em SPA");
            ITratamento _classeTratamentoSPA = TratamentoFactory.CriarClasseTratamentoWebhook(retornoSPA);

            Console.WriteLine("Client :: Tratando os dados do SPA");
            _classeTratamentoSPA.TratarDadosRetorno();


            Console.ReadLine();
        }
Example #3
0
        public TratamentoRetornoSPAFactory(DadosRetronadosWebhook dados)
        {
            _dadosRetornadosWebhook = dados;

            Console.WriteLine("    Factory SPA :: Criada Classe");
        }