public double Calcula(Orcamento orcamento) { double valor = 0; if (orcamento.Valor < 1000.00) valor = orcamento.Valor * 0.05; else if (orcamento.Valor >= 1000.00 && orcamento.Valor <= 3000.00) valor = orcamento.Valor * 0.07; else valor = (orcamento.Valor * 0.08) + 30.00; return valor; }
static void Main(string[] args) { Imposto iss = new ISS(); Imposto icms = new ICMS(); Imposto iccc = new ICCC(); Orcamento orcamento = new Orcamento(5000); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); calculador.RealizaCalculo(orcamento, iccc); Console.ReadKey(); }
public void Finaliza(Orcamento orcamento) { Console.WriteLine("Orcamento já está finalizado."); }
public override double MinimaTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.05); }
public double Calcula(Orcamento orcamento) { return(orcamento.Valor * 0.6); }
public abstract bool DeveAplicarDesconto(Orcamento orcamento);
public override double Calcula(Orcamento orcamento) { return(orcamento.Valor * 0.1 + CalculoOutroImposto(orcamento)); }
public void Recusa(Orcamento orcamento) { throw new Exception("Orcamentos Aprovados não podem mais ser recusados"); }
public void RealizaCalculo(Orcamento orcamento, Imposto imposto) { double icms = imposto.Calcula(orcamento); Console.WriteLine(icms); }
public void Aprova(Orcamento orcamento) { throw new NotImplementedException("Orçamento finalizado"); }
public abstract double MinimaTaxacao(Orcamento orcamento);
public abstract bool DeveUsarMaximaTaxacao(Orcamento orcamento);
public override double MinimaTaxacao(Orcamento orcamento) { return(orcamento.Valor * (0.01 * orcamento.Itens.Count)); }
public override bool DeveUsarMaximaTaxacao(Orcamento orcamento) { return(ExisteDoisItensComOMesmoNome(orcamento)); }
public override double Desconto(Orcamento orcamento) { return(0); }
public void RealizaCalculo(Orcamento orcamento , Imposto imposto) { double valorImposto = imposto.Calcula(orcamento); Console.WriteLine(valorImposto); }
public override double MaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.10); }
public void Aprova(Orcamento orcamento) { throw new Exception("Orcamentos aprovados não podem ser aprovados novamente"); }
public void AplicaDescontoExtra(Orcamento orcamento) { throw new Exception("Orçamentos reprovado não recebem desconto extra"); }
public void Finaliza(Orcamento orcamento) { orcamento.EstadoAtual = new Finalizado(); }
public void Aprova(Orcamento orcamento) { throw new Exception("Orcamento reprovado, não pode ser aprovado"); }
public double Descontar(Orcamento orcamento) { return(DeveAplicarDesconto(orcamento) ? Desconto(orcamento) : Proximo.Descontar(orcamento)); }
public void Reprova(Orcamento orcamento) { throw new Exception("Orcamento já esta em estado de reprovado"); }
public abstract double Desconto(Orcamento orcamento);
public void AplicaDescontoExtra(Orcamento orcamento) { throw new Exception("Orçamento reprovado"); }
public override bool DeveUsarMaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor > 500 && TemItemMaiorQueCemReaisNo(orcamento)); }
public void Reprova(Orcamento orcamento) { throw new NotImplementedException("Orçamento reprovado"); }
public override bool DeveUsarMaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor >= 500); }
public void RealizaCalculo(Orcamento orcamento) { double icms = new ICMS().CalculaICMS(orcamento); Console.WriteLine(icms); }
public void AplicaDescontoExtra(Orcamento orcamento) { Console.WriteLine("Orçamentos finalizados não recebem desconto extra"); }
public void RealizaCalculo(Orcamento orcamento, Imposto imposto) { var icms = imposto.Calcula(orcamento); Console.WriteLine(icms); }
public override bool DeveAplicarDesconto(Orcamento orcamento) { return(true); }
public override double Calcula(Orcamento orcamento) { return((orcamento.Valor * 0.05) + 50); }
public double Calcula(Orcamento orcamento) { return orcamento.Valor * 0.1; }
public void Reprova(Orcamento orcamento) { throw new Exception("Orcamento esta em aprovacao, nao pode ser reprovado agora"); }