Exemplo n.º 1
0
 private bool existe(String nomeDoItem, Orçamento orcamento)
 {
     foreach (Item item in orcamento.Itens)
     {
         if (item.Nome.Equals(nomeDoItem))
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 2
0
            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));
            }
Exemplo n.º 3
0
 public double Desconta(Orçamento orcamento)
 {
     if (orcamento.Valor > 500)
     {
         return(orcamento.Valor * 0.07);
     }
     else
     {
         return(Proximo.Desconta(orcamento));
     }
 }
Exemplo n.º 4
0
 private bool TemItemMaiorQue100ReaisNo(Orçamento orçamento)
 {
     foreach (Item item in orçamento.Itens)
     {
         if (item.Valor > 100)
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 5
0
 public void AplicaDescontoExtra(Orçamento orçamento)
 {
     if (!descontoAplicado)
     {
         orçamento.Valor -= orçamento.Valor * 0.02;
     }
     else
     {
         throw new Exception("Desconto já aplicado");
     }
 }
Exemplo n.º 6
0
 public double Calcula(Orçamento orcamento)
 {
     if (aconteceuVendaCasadaEm(orcamento))
     {
         return(orcamento.Valor * 0.05);
     }
     else
     {
         return(Proximo.Desconta(orcamento));
     }
 }
Exemplo n.º 7
0
 public double Desconta(Orçamento orcamento)
 {
     if (orcamento.Itens.Count > 5)
     {
         return(orcamento.Valor * 0.1);
     }
     else
     {
         return(Proximo.Desconta(orcamento));
     }
 }
Exemplo n.º 8
0
 public override double Calcula(Orçamento orçamento)
 {
     if (DeveUsarMaximaTaxacao(orçamento))
     {
         return(MaximaTaxacao(orçamento));
     }
     else
     {
         return(MinimaTaxacao(orçamento));
     }
 }
Exemplo n.º 9
0
 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);
     }
 }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 11
0
        public void RealizaCalculo(Orçamento orçamento, Imposto imposto)
        {
            double valor = imposto.Calcula(orçamento);

            Console.WriteLine(valor);
        }
Exemplo n.º 12
0
 public void AplicaDescontoExtra(Orçamento orçamento)
 {
     throw new Exception("Orçamento Finalizado não recebe desconto");
 }
Exemplo n.º 13
0
 public double Desconta(Orçamento orcamento)
 {
     return(0);
 }
Exemplo n.º 14
0
 public abstract double MinimaTaxacao(Orçamento orcamento);
Exemplo n.º 15
0
 public abstract double Calcula(Orçamento orçamento);
Exemplo n.º 16
0
 protected double CalculaOutroImposto(Orçamento orçamento)
 {
     return(OutroImposto == null ? 0 : OutroImposto.Calcula(orçamento));
 }
Exemplo n.º 17
0
        //public void AplicaDescontoExtra( )
        //{
        //    EstadoAtual.AplicaDescontoExtra(this);
        //}

        public void AplicaDesconto(Orçamento orçamento)
        {
            EstadoAtual.AplicaDesconto(this);
        }
Exemplo n.º 18
0
 public void Finaliza(Orçamento orçamento)
 {
     orçamento.EstadoAtual = new Finalizado();
 }
Exemplo n.º 19
0
 public abstract bool DeveUsarMaximaTaxacao(Orçamento orcamento);
Exemplo n.º 20
0
 public void Finaliza(Orçamento orçamento)
 {
     throw new Exception("Orcamento em aprovação não podem ir para finalizado diretamente");
 }
Exemplo n.º 21
0
 public void Aprova(Orçamento orçamento)
 {
     throw new Exception("Orçamento já reprovado");
 }
Exemplo n.º 22
0
 public override bool DeveUsarMaximaTaxacao(Orçamento orçamento)
 {
     return(orçamento.Valor >= 500);
 }
Exemplo n.º 23
0
 public override double Calcula(Orçamento orçamento)
 {
     return(orçamento.Valor * 0.05 + CalculaOutroImposto(orçamento));
 }
Exemplo n.º 24
0
 public override double Calcula(Orçamento orçamento)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 25
0
 public void Reprova(Orçamento orçamento)
 {
     orçamento.EstadoAtual = new Reprovado();
 }
Exemplo n.º 26
0
 public override bool DeveUsarMaximaTaxacao(Orçamento orçamento)
 {
     return(orçamento.Valor >= 500 && TemItemMaiorQue100ReaisNo(orçamento));
 }
Exemplo n.º 27
0
 public void AplicaDesconto(Orçamento orçamento)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 28
0
 public override double MaximaTaxacao(Orçamento orçamento)
 {
     return(orçamento.Valor * 0.10);
 }
Exemplo n.º 29
0
 public void Reprova(Orçamento orçamento)
 {
     throw new Exception("Orçamento ja finalizado");
 }
Exemplo n.º 30
0
 public override double MinimaTaxacao(Orçamento orçamento)
 {
     return(orçamento.Valor * 0.06);
 }