public Usuario(string tipo, double val) { this.status = tipo; this.totalGasto = val; if (this.status == "new") { this.DescontoStrategy = new DescontoNormal(); } else { this.DescontoStrategy = new DescontoEspecial(); } }
public CalculadorPreco(IFrete frete, IDesconto desconto) { _frete = frete; _desconto = desconto; }
public DescontoPorMaisDeQuinhentosReais() { //Não recebe nenhum desconto this.Proximo = null; }
public DescontoPorMaisDeQuinhentosReais(IDesconto proximo) { this.Proximo = proximo; }
public DescontoPorCincoItens() { //Não recebe nenhum desconto this.Proximo = null; }
public IDesconto ProximoDesconto(IDesconto proximo) { this._proximo = proximo; return(proximo); }
public DescontoPorCincoItens(IDesconto desconto) { Proximo = desconto ?? throw new ArgumentNullException(nameof(desconto)); }
public SemDesconto(IDesconto desconto) { Proximo = desconto ?? throw new ArgumentNullException(nameof(desconto)); }
public void SetNext(IDesconto idesconto) { this.next = idesconto; }
public Desconto() { this.next = new SemDesconto(); }
public Produto(IDesconto desconto) { _desconto = desconto; }
public DescontoPorMaisDeQuinhentosReais(IDesconto desconto) { Proximo = desconto ?? throw new ArgumentNullException(nameof(desconto)); }
public Item(string nome, double valor, IDesconto desconto) : this(nome, valor) { _desconto = desconto; }
public DescontoPorVendaCasada(IDesconto desconto) { Proximo = desconto ?? throw new ArgumentNullException(nameof(desconto)); }
//Calcula desconto e retorna o valor cheio com base na quantidade public decimal AplicaValor(IDesconto desconto, int quantidade) { return(desconto.Calcula(this, quantidade) * quantidade); }
public DescontoPorCincoItens(IDesconto proximo) { Proximo = proximo; }
public double CalcularDesconto(Matricula matricula, IDesconto desconto) { return(desconto.Calcular(matricula)); }