private bool existe(String nomeDoItem, Orçamento orcamento) { foreach (Item item in orcamento.Itens) { if (item.Nome.Equals(nomeDoItem)) { return(true); } } return(false); }
public double Calcula(Orçamento orçamento) { Desconto d1 = new DescontoPorCincoItens(); Desconto d2 = new DescontoPorMaisDeQuinhentosReais(); Desconto d3 = new SemDesconto(); d1.Proximo = d2; d2.Proximo = d3; return(d1.Desconta(orçamento)); }
public double Desconta(Orçamento orcamento) { if (orcamento.Valor > 500) { return(orcamento.Valor * 0.07); } else { return(Proximo.Desconta(orcamento)); } }
private bool TemItemMaiorQue100ReaisNo(Orçamento orçamento) { foreach (Item item in orçamento.Itens) { if (item.Valor > 100) { return(true); } } return(false); }
public void AplicaDescontoExtra(Orçamento orçamento) { if (!descontoAplicado) { orçamento.Valor -= orçamento.Valor * 0.02; } else { throw new Exception("Desconto já aplicado"); } }
public double Calcula(Orçamento orcamento) { if (aconteceuVendaCasadaEm(orcamento)) { return(orcamento.Valor * 0.05); } else { return(Proximo.Desconta(orcamento)); } }
public double Desconta(Orçamento orcamento) { if (orcamento.Itens.Count > 5) { return(orcamento.Valor * 0.1); } else { return(Proximo.Desconta(orcamento)); } }
public override double Calcula(Orçamento orçamento) { if (DeveUsarMaximaTaxacao(orçamento)) { return(MaximaTaxacao(orçamento)); } else { return(MinimaTaxacao(orçamento)); } }
public override double Calcula(Orçamento orçamento) { if (orçamento.Valor < 1000) { return(orçamento.Valor * 0.05); } else if (orçamento.Valor >= 1000 && orçamento.Valor <= 3000) { return(orçamento.Valor * 0.07); } else { return(orçamento.Valor * 0.08 + 30.00); } }
static void Main(string[] args) { Imposto iss = new ISS(); Imposto icms = new ICMS(); Orçamento orçamento = new Orçamento(50.00); CalculaImposto calculador = new CalculaImposto(); calculador.RealizaCalculo(orçamento, iss); calculador.RealizaCalculo(orçamento, icms); Orçamento reforma = new Orçamento(3000.0); Imposto novoImposto = new ICCC(); Console.WriteLine(novoImposto.Calcula(reforma)); Console.ReadLine(); }
public void RealizaCalculo(Orçamento orçamento, Imposto imposto) { double valor = imposto.Calcula(orçamento); Console.WriteLine(valor); }
public void AplicaDescontoExtra(Orçamento orçamento) { throw new Exception("Orçamento Finalizado não recebe desconto"); }
public double Desconta(Orçamento orcamento) { return(0); }
public abstract double MinimaTaxacao(Orçamento orcamento);
public abstract double Calcula(Orçamento orçamento);
protected double CalculaOutroImposto(Orçamento orçamento) { return(OutroImposto == null ? 0 : OutroImposto.Calcula(orçamento)); }
//public void AplicaDescontoExtra( ) //{ // EstadoAtual.AplicaDescontoExtra(this); //} public void AplicaDesconto(Orçamento orçamento) { EstadoAtual.AplicaDesconto(this); }
public void Finaliza(Orçamento orçamento) { orçamento.EstadoAtual = new Finalizado(); }
public abstract bool DeveUsarMaximaTaxacao(Orçamento orcamento);
public void Finaliza(Orçamento orçamento) { throw new Exception("Orcamento em aprovação não podem ir para finalizado diretamente"); }
public void Aprova(Orçamento orçamento) { throw new Exception("Orçamento já reprovado"); }
public override bool DeveUsarMaximaTaxacao(Orçamento orçamento) { return(orçamento.Valor >= 500); }
public override double Calcula(Orçamento orçamento) { return(orçamento.Valor * 0.05 + CalculaOutroImposto(orçamento)); }
public override double Calcula(Orçamento orçamento) { throw new NotImplementedException(); }
public void Reprova(Orçamento orçamento) { orçamento.EstadoAtual = new Reprovado(); }
public override bool DeveUsarMaximaTaxacao(Orçamento orçamento) { return(orçamento.Valor >= 500 && TemItemMaiorQue100ReaisNo(orçamento)); }
public void AplicaDesconto(Orçamento orçamento) { throw new NotImplementedException(); }
public override double MaximaTaxacao(Orçamento orçamento) { return(orçamento.Valor * 0.10); }
public void Reprova(Orçamento orçamento) { throw new Exception("Orçamento ja finalizado"); }
public override double MinimaTaxacao(Orçamento orçamento) { return(orçamento.Valor * 0.06); }