public static void RealizaCalculo(Orcamento orcamento, IImposto imposto) { //CalculadoraDeImpostos apenas exibe um mensagem na tela, ela não é necessária. //Mas agora imagine que, além de calcular o imposto, //essa classe precisasse fazer mais alguma coisa, //como por exemplo, alterar o status do Orçamento, ou notificar algum outro objeto desse valor calculado. var valor = imposto.Calcula(orcamento); Console.Write(imposto.GetType().Name + ": "); Console.WriteLine(valor); }
public NotaFiscal Gera(Fatura fatura, IImposto imposto) { double valor = fatura.ValorMensal; double valorImposto = imposto.Calcula(fatura); var notaFiscal = new NotaFiscal(valor, valorImposto); ExecutaAcaoNota(notaFiscal); return(notaFiscal); }
public double CalcularValorTotal(Cliente cliente) { double total = _itensPedido.Sum((item) => { return(item.Valor * item.Quantidade); }); double taxas; // context IImposto imposto = _fabricaImposto.GetInstance(); taxas = imposto.CalcularTaxas(cliente, total); total = total + taxas; return(total); }
public double CalcularValorTotal(Cliente cliente) { double total = _itensPedido.Sum((item) => { return(item.Valor * item.Quantidade); }); double taxas; // dependência concreta, fábrica de imposto // inverter a dependência ? IImposto imposto = _fabricaImposto.GetInstance(); taxas = imposto.CalcularTaxas(cliente, total); total = total + taxas; return(total); }
static public void MostraInformações(ItemNoEstoque item, IImposto imposto) { WriteLine("================================"); WriteLine($"O valor do item sem impostos: ${item.Valor}"); var valorDoCalculo = imposto.Calcular(item); if (valorDoCalculo != -1) { WriteLine($"Imposto a se pagar: {valorDoCalculo}"); WriteLine($"O valor do item com impostos: ${item.Valor}"); } else { WriteLine($"Este produto esta issento de tributação"); } WriteLine("================================"); }
/// <summary> /// Método que independe do imposto para calcular o valor do mesmo. /// </summary> /// <param name="orcamento">Classe que representa o orçamento.</param> /// <param name="imposto">Interface que representa todos os impostos.</param> public void RealizaCalculo(Orcamento orcamento, IImposto imposto) { #region Smell Bad - CÓDIGO PROBLEMÁTICO /* * if ("ICMS".Equals(imposto)) * { * //double icms = orcamento.Valor * 0.1; //CODIGO PROBLEMÁTICO * double icms = new ICMS().CalculaICMS(orcamento); * Console.WriteLine(icms); * } * else if("ISS".Equals(imposto)) * { * //double iss = orcamento.Valor * 0.06; //CODIGO PROBLEMÁTICO * double iss = new ISS().CalculaISS(orcamento); * Console.WriteLine(iss); * }*/ #endregion Console.WriteLine(imposto.Calcula(orcamento)); }
public ImpostoMuitoAlto(IImposto outroImposto) : base(outroImposto) { }
public TemplateDeImpostoCondicional(IImposto outroImposto) : base(outroImposto) { }
// Passar a interface como parâmetro // Com este método genérico por mais que se crie vários outros impostos não precisamos mexer no Calculador de Impostos public void RealizaCalculo(Orcamento orcamento, IImposto imposto) { double resultado = imposto.Calcula(orcamento); Console.WriteLine(resultado); }
public Imposto() { this.OutroImposto = null; }
public ICPP(IImposto outroImposto) : base(outroImposto) { }
public double RealizarCalculo(Orcamento orcamento, IImposto imposto) { return(imposto.Calcular(orcamento)); }
public Icms(IImposto outroImposto) : base(outroImposto) { TaxaPadrao += _TAXA; }
//no construtor eu carrego quem vai ser o imposto que vou chamar public CalculadorDeImpostos(IImposto _imposto) { this.imposto = _imposto; }
public Salario Desconta(IImposto desconto) { SalarioAtual -= desconto.Calcula(SalarioAtual); return(this); }
public double RealizarCalculo(IImposto imposto) { return(imposto.Calcular(_orcamento.Valor)); }
public ICMS(IImposto outroImposto) : base(outroImposto) { }
public void RealizaCalculo(Orcamento orcamento, IImposto imposto) { var calculo = imposto.Calcula(orcamento); Console.WriteLine("PadroesDeProjetos.Strategy: " + calculo); }
public void RealizaCalculo(Orcamento orcamento, IImposto imposto) { double resultado = imposto.Calcula(orcamento); Console.WriteLine(resultado); }
public static void RealizaCalculo(Orcamento orcamento, IImposto imposto) { var valor = imposto.CalcularImposto(orcamento); Console.WriteLine($"O imposto do orçamento é : {valor}"); }
public CalculadorDeImposto(Orcamento orcamento, IImposto imposto) { _orcamento = orcamento; _imposto = imposto; }
public decimal CalcularImpostos(Pedido pedido, IImposto imposto) { return(imposto.Calcular(pedido)); }
public decimal Calcular(Orcamento orcamento, IImposto imposto) { decimal resultado = imposto.Calcular(orcamento); return(resultado); }
public double RealizaCalculoImposto(double orcamento, IImposto imposto) { return(imposto.Calcular(orcamento)); }
public double CalculaImposto(Orcamento orcamento, IImposto imposto) { return(imposto.Calcular(orcamento)); }
public double CalcularImpostos(Orcamento orcamento, IImposto Imposto) { return(Imposto.Calcular(orcamento)); }
public Alfandega(IImposto outroImposto) : base(outroImposto) { TaxaPadrao += _TAXA; }
public void RealizarCalculo(Orcamento orcamento, IImposto imposto) { var valor = imposto.Calcular(orcamento); Console.WriteLine(valor); }
public IHIT(IImposto outroImposto) : base(outroImposto) { }
public Imposto(IImposto outroImposto) { this.OutroImposto = outroImposto; }
public ConditionalTaxTemplate(IImposto outroImposto) : base(outroImposto) { }
public void RealizaCalculo(Orcamento orcamento, IImposto imposto) { double valor = imposto.Calcula(orcamento); Console.WriteLine(valor); }
public double Calcular(double valor, IImposto imposto) { return(imposto.Calcular(valor)); }
public ICCC(IImposto outroImposto) : base(outroImposto) { }