static void Main(string[] args) { var criador = new NotaFiscalBuilder(); var criadorItem = new ItemDaNotaBuilder(); criador.ParaEmpresa("Thiago") .ComCnpj("23.456.789/0001-12") .ComItem(criadorItem.ComNome("Item1").ComValor(100).Controi()) .ComItem(criadorItem.ComNome("Item2").ComValor(200).Controi()) .NaData(DateTime.Now) .ComObs("uma obs qualquer"); criador.AdicionaAcao(new EnviadorDeEmail()); criador.AdicionaAcao(new EnviadorDeSms()); criador.AdicionaAcao(new NotaFiscalDao()); criador.AdicionaAcao(new Multiplicador(2)); var nf = criador.Constroi(); Console.WriteLine(nf.ValorBruto); Console.WriteLine(nf.Impostos); Console.WriteLine(nf.DataDeEmissao); Console.ReadKey(); }
private static void Builder1() { var criadorDeNotaFiscal = new NotaFiscalBuilder(); var itens = new ItemDaNotaBuilder(); criadorDeNotaFiscal .ParaEmpresa("LG") .ComCnpj("999.999.99-99") .ComItem(itens.ComNome("Sapato").ComValor(100).Controi()) .ComItem(itens.ComNome("Calça").ComValor(500).Controi()) .NaData(new DateTime(2017, 1, 18)) .ComObservacoes("Teste obs "); var nf = criadorDeNotaFiscal.Constroi(); Console.WriteLine(nf); }
private static void Observer1() { var listaDeAcoes = new List <IAcaoAposGerarNota>() { new EnviadorDeEmail(), new NotaFiscalDao(), new EnviadorPorSMS(), new Multiplicador(10) }; var criadorDeNotaFiscal = new NotaFiscalBuilder(listaDeAcoes); var itens = new ItemDaNotaBuilder(); criadorDeNotaFiscal .ParaEmpresa("LG") .ComCnpj("999.999.99-99") .ComItem(itens.ComNome("Sapato").ComValor(100).Controi()) .ComItem(itens.ComNome("Calça").ComValor(500).Controi()) .NaData(new DateTime(2017, 1, 18)) .ComObservacoes("Teste obs "); var nf = criadorDeNotaFiscal.Constroi(); Console.WriteLine(nf); }