public IDescontoAcrescimoStrategy RecuperaEstrategia(TipoCalculo tipo, TipoAplicacao aplicacao)
        {
            IDescontoAcrescimoStrategy estrategia = null;

            switch (tipo)
            {
            case TipoCalculo.Acrescimo:
                estrategia = RecuperaEstrategiaAcrescimo(aplicacao);
                break;

            case TipoCalculo.Desconto:
                estrategia = RecuperaEstrategiaDesconto(aplicacao);
                break;

            case TipoCalculo.Comissao:
                estrategia = RecuperaEstrategiaComissao(aplicacao);
                break;
            }

            return(estrategia ?? SemAlteracaoStrategy.Instance);
        }
Exemplo n.º 2
0
 private bool Remover(GDASession sessao, IDescontoAcrescimoStrategy estrategia, IContainerCalculo container,
                      IEnumerable <IProdutoCalculo> produtos)
 {
     return(estrategia.Remover(sessao, container, produtos));
 }
Exemplo n.º 3
0
 private bool Aplicar(GDASession sessao, IDescontoAcrescimoStrategy estrategia, IContainerCalculo container,
                      IEnumerable <IProdutoCalculo> produtos, TipoValor tipoValor, decimal valor)
 {
     return(estrategia.Aplicar(sessao, container, produtos, tipoValor, valor));
 }