static void DecorationPattern() { Imposto iss = new ICMS(new ISS()); Orcamento orcamento = new Orcamento(500); var valor = iss.Calcula(orcamento); System.Console.WriteLine(valor); }
private static void Strategy(Orcamento orcamento) { var calculadorDeImpostos = new CalculadorDeImpostos(); var icms = new ICMS(); var iss = new ISS(); calculadorDeImpostos.Calcular(orcamento, icms); calculadorDeImpostos.Calcular(orcamento, iss); }
static void Main(string[] args) { Imposto icms = new ICMS(); Orcamento orcamento = new Orcamento(500); double valorImposto = CalculadorImpostos.RealizaCalculo(orcamento, icms); Console.WriteLine("Valor de imposto calculado: " + valorImposto.ToString()); Console.ReadKey(); }
static void Strategy() { Imposto iss = new ISS(); Imposto icms = new ICMS(); Orcamento orcamento = new Orcamento(50); var calculadora = new CalculadorDeImpostos(); calculadora.RealizaCalculo(orcamento, iss); calculadora.RealizaCalculo(orcamento, icms); }
private static void Main(string[] args) { ITax iss = new ISS(); ITax icms = new ICMS(); Budget budget = new Budget(500.0); TaxCalculator taxCalculator = new TaxCalculator(); taxCalculator.Calculate(budget, iss); taxCalculator.Calculate(budget, icms); Console.ReadKey(); }
static void Main(string[] args) { Imposto iss = new ISS(); Imposto icms = new ICMS(); Orcamento orcamento = new Orcamento(500.0); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); //Calculando o ISS calculador.RealizaCalculo(orcamento, iss); // Calculando o ICMS calculador.RealizaCalculo(orcamento, icms); }
static void Main(string[] args) { // Strategy Pattern Console.WriteLine("Strategy Pattern ---------------------"); ITax icms = new ICMS(); ITax iss = new ISS(); Budget budget = new Budget() { Value = 300.00 }; Console.WriteLine("Calc for ICMS: " + icms.Calc(budget)); Console.WriteLine("Calc for ISS: " + iss.Calc(budget)); Console.WriteLine("Strategy Pattern ---------------------"); Console.ReadKey(); }
static void Main(string[] args) { Imposto iss = new ISS(); Imposto icms = new ICMS(); Imposto iccc = new ICCC(); Imposto ikcv = new IKCV(); Imposto icpp = new ICPP(); Imposto ihit = new IHIT(); Imposto iAlto = new ImpostoAlto(); Imposto issComposto = new ISS(new ICMS(new ICCC())); Conta conta = new Conta(600, "Fulano de Tal"); conta.StatusAtual.Depositar(conta, 150); Console.WriteLine("Saldo = " + conta.Saldo); conta.StatusAtual.Sacar(conta, 1000); Console.WriteLine("Saldo = " + conta.Saldo); conta.StatusAtual.Sacar(conta, 150); Console.WriteLine("Saldo = " + conta.Saldo); conta.StatusAtual.Depositar(conta, 500); Console.WriteLine("Saldo = " + conta.Saldo); conta.StatusAtual.Sacar(conta, 150); Console.WriteLine("Saldo = " + conta.Saldo); Investimento investimento = new Arrojado(); RealizadorInvestimentos realizarImposto = new RealizadorInvestimentos(); realizarImposto.RealizarInvestimento(conta, investimento); Orcamento orcamento = new Orcamento(1000); orcamento.Itens.Add(new Item("ITEM 01", 100)); orcamento.Itens.Add(new Item("ITEM", 230)); orcamento.Itens.Add(new Item("ITEM12", 340)); orcamento.Itens.Add(new Item("LAPIS", 121)); orcamento.Itens.Add(new Item("CANETA", 1212)); CalculadorImpostos calculador = new CalculadorImpostos(); calculador.RealizarCalculo(orcamento, iss); calculador.RealizarCalculo(orcamento, icms); calculador.RealizarCalculo(orcamento, iccc); calculador.RealizarCalculo(orcamento, ikcv); calculador.RealizarCalculo(orcamento, icpp); calculador.RealizarCalculo(orcamento, ihit); calculador.RealizarCalculo(orcamento, issComposto); calculador.RealizarCalculo(orcamento, iAlto); AplicarDesconto aplicarDesconto = new AplicarDesconto(); aplicarDesconto.CalcularDesconto(orcamento); Conta conta2 = new Conta(1200, "Outro Fulano"); IList <Conta> contas = new List <Conta>(); contas.Add(conta); contas.Add(conta2); RelatorioCompleto relatorioCompleto = new RelatorioCompleto(); relatorioCompleto.Imprimir(contas); RelatorioSimplificado relatorioSimplificado = new RelatorioSimplificado(); relatorioSimplificado.Imprimir(contas); Orcamento orc1 = new Orcamento(500); orc1.EstadoAtual.AplicarDescontoExtra(orc1); Console.WriteLine("ORC = " + orc1.Valor); orc1.EstadoAtual.Aprovar(orc1); orc1.EstadoAtual.AplicarDescontoExtra(orc1); Console.WriteLine("ORC = " + orc1.Valor); orc1.EstadoAtual.Finalizar(orc1); orc1.EstadoAtual.AplicarDescontoExtra(orc1); orc1.EstadoAtual.Reprovar(orc1); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("----- Curso Design Patterns -----"); IImposto iss = new ISS(); IImposto icms = new ICMS(); Orcamento orcamento = new Orcamento(500); CalculadorImposto calculador = new CalculadorImposto(); var resultado = calculador.Calcular(orcamento, iss); Console.WriteLine($"Orçamento ISS: {orcamento.Valor} , Imposto: {resultado}"); IImposto ickv = new IKCV(); resultado = calculador.Calcular(orcamento, ickv); Console.WriteLine($"Orçamento IKCV: {orcamento.Valor} , Imposto: {resultado}"); ImpostoComposto insdc = new INSDC(new INSPT()); Console.WriteLine($"Orçamento INSDC: {orcamento.Valor} , Imposto: {insdc.Calcular(orcamento)}"); Orcamento marketing = new Orcamento(1200); marketing.AplicaDescontoExtra(); Console.WriteLine($"Orçamento Marketing: {marketing.Valor} , Estado: {marketing.EstadoAtual}"); marketing.Aprova(); marketing.AplicaDescontoExtra(); Console.WriteLine($"Orçamento Marketing: {marketing.Valor} , Estado: {marketing.EstadoAtual}"); marketing.Finaliza(); Console.WriteLine($"Orçamento Marketing: {marketing.Valor} , Estado: {marketing.EstadoAtual}"); // marketing.AplicaDescontoExtra(); /// BUILDER PATTERN / FLUENT INTERFACE GeradorNotaFiscal geradorNF = new GeradorNotaFiscal(); geradorNF .ParaEmpresa("RMac Hambone Sys compliance") .ComCnpj("923.321.001/0001-12") .comItem(new NotaFiscalItem("item 1", 10.2, 0.1)) .comItem(new NotaFiscalItem("item 2", 13.7, 0.1)) .comItem(new NotaFiscalItem("item 3", 20.2, 0.1)) .comItem(new NotaFiscalItem("item 4", 110.2, 0.1)) .NaDataAtual() .ComObservacoes("Entregar no bar da esquina"); /// OBSERVER PATTERN geradorNF.AdicionarAcao(new NotaDao()); geradorNF.AdicionarAcao(new NotaEnvio()); geradorNF.AdicionarAcao(new NotaSMS()); NotaFiscal NF001 = geradorNF.Gerar(); Console.WriteLine($"Notafiscal: Valor {NF001.ValorBruto} - Impostos: {NF001.Impostos}"); Console.ReadKey(); }