コード例 #1
0
        public NotaFiscal Constroi()
        {
            NotaFiscal nf = new NotaFiscal(RazaoSocial, CNPJ, ImpostoNota, ValorNota, ItensNota);

            foreach (IAcoes acoes in ListaAcoes)
            {
                acoes.ExecutarAcao(nf);
            }

            return nf;
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: hafcosta/Pattners
        /// <summary>
        /// Padrao Observer - Utiliza-se em cenarios onde precisa-se executar N ações após determinado evento
        /// de maneira desacoplada do codigo principal. Nesse caso, após a geração da nota fiscal, deve-se gerar
        /// varios eventos pertinentes ao negocio, neste caso, o observer se aplica.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            NotaFiscalBuilder builder = new NotaFiscalBuilder();

            builder.AdicionarAcao(new Acoes.EnvioEmail());
            builder.AdicionarAcao(new Acoes.Impressoes());
            builder.AdicionarAcao(new Acoes.Persistencia());


            NotaFiscal.NotaFiscal nf = builder.builderRazaoSocial("Microsoft")
                                       .builderCNPJ("000.000.000./0001-03")
                                       .builderItemNota(new ItemNotaFiscal(350))
                                       .builderItemNota(new ItemNotaFiscal(450))
                                       .builderItemNota(new ItemNotaFiscal(120))
                                       .builderItemNota(new ItemNotaFiscal(890))
                                       .Constroi().Print();

            Console.Read();
        }
コード例 #3
0
ファイル: Impressoes.cs プロジェクト: hafcosta/Pattners
 private void ImprimirNotaFiscal(NotaFiscal.NotaFiscal nf)
 {
     Console.WriteLine("Imprimindo nota fiscal...");
 }
コード例 #4
0
ファイル: Impressoes.cs プロジェクト: hafcosta/Pattners
 public void ExecutarAcao(NotaFiscal.NotaFiscal nf)
 {
     this.ImprimirNotaFiscal(nf);
 }
コード例 #5
0
ファイル: EnvioEmail.cs プロジェクト: hafcosta/Pattners
 private void EnviarPorEmail(NotaFiscal.NotaFiscal nf)
 {
     Console.WriteLine("Enviando nota por e-mail...");
 }
コード例 #6
0
ファイル: EnvioEmail.cs プロジェクト: hafcosta/Pattners
 public void ExecutarAcao(NotaFiscal.NotaFiscal nf)
 {
     this.EnviarPorEmail(nf);
 }