static void TestaRequisicao() //Chain of Responsability
        {
            var conta = new Conta("Carlos", 500);

            var req = new Requisicao(Formato.PORCENTO);

            Resposta reqporc = new RespostaEmPorcento(null);
            Resposta reqcsv  = new RespostaEmCsv(reqporc);
            Resposta reqxml  = new RespostaEmXml(reqcsv);

            //reqxml.OutraResposta = reqcsv;
            //reqcsv.OutraResposta = reqporc;

            reqxml.Responde(req, conta);
        }
 public void Responde(Requisicao requisicao, Conta conta)
 {
     if (requisicao.Formato == Formato.PORCENTO)
     {
         Console.WriteLine($"{conta.Nome}%{conta.Saldo}");
     }
     else if (OutraResposta == null)
     {
         OutraResposta.Responde(requisicao, conta);
     }
     else
     {
         throw new ArgumentException("Formato de resposta não encontrada");
     }
 }
Esempio n. 3
0
 public void Responde(Requisicao req, Conta conta)
 {
     if (req.Formato == Formato.PORCENTO)
     {
         Console.WriteLine(conta.Titular + "%" + conta.Saldo);
     }
     else if (OutraResposta != null)
     {
         OutraResposta.Responde(req, conta);
     }
     else
     {
         // não existe próxima na corrente, e ninguém atendeu a requisição!
         // poderíamos não ter feito nada aqui, caso não fosse necessário!
         throw new Exception("Formato de resposta não encontrado");
     }
 }
Esempio n. 4
0
 public void Responde(Requisicao req, Conta conta)
 {
     Console.WriteLine("Formato Não Identificado");
 }
Esempio n. 5
0
        public void Chamada(Requisicao requisicao, Conta conta)
        {
            var r1 = new XML(new PontoEVirgula(new Porcento()));

            r1.Responde(requisicao, conta);
        }
 public void Resultado(Requisicao req, Conta conta)
 {
     Console.WriteLine("Erro");
 }