コード例 #1
0
        private IDescontoAcrescimoStrategy RecuperaEstrategiaComissao(TipoAplicacao aplicacao)
        {
            switch (aplicacao)
            {
            case TipoAplicacao.Geral:
                return(ComissaoGeralStrategy.Instance);
            }

            return(null);
        }
コード例 #2
0
 /// <summary>
 /// Cria uma nova instância da aplicação.
 /// </summary>
 /// <param name="tipo" type="TipoAplicacao">Tipo da aplicação que será criada.</param>
 /// <param name="sessao" type="IGerenciadorSessao">Gerenciador de sessões da aplicação.</param>
 private Aplicacao(TipoAplicacao tipo, IGerenciadorSessao sessao)
 {
     if (sessao == null)
     {
         throw new ArgumentNullException("Gerenciador de sessão inválido.");
     }
     else
     {
         this.sessao = sessao;
     }
     this.tipo = tipo;
 }
コード例 #3
0
 /// <summary>
 /// Cria a única instância da aplicação.
 /// </summary>
 /// <param name="tipo" type="TipoAplicacao">Tipo da aplicação que será criada.</param>
 /// <param name="sessao" type="IGerenciadorSessao">Gerenciador de sessões da aplicação.</param>
 /// <exception cref="Exception"></exception>
 public static void CriarInstancia(TipoAplicacao tipo, IGerenciadorSessao sessao)
 {
     if (instancia == null)
     {
         instancia = new Aplicacao(tipo, sessao);
     }
     else
     {
         instancia = null;
         instancia = new Aplicacao(tipo, sessao);
         //throw new Exception();
     }
 }
コード例 #4
0
        private IDescontoAcrescimoStrategy RecuperaEstrategiaAcrescimo(TipoAplicacao aplicacao)
        {
            switch (aplicacao)
            {
            case TipoAplicacao.Geral:
                return(AcrescimoGeralStrategy.Instance);

            case TipoAplicacao.Ambiente:
                return(AcrescimoAmbienteStrategy.Instance);
            }

            return(null);
        }
コード例 #5
0
 public CupomFiscal(string linha) : base(linha)
 {
     tipoRegistro = TipoRegistro.E14_CupomFiscal;
     numeroContadorDocumentoEmitido = LerInteiro6Digitos(47);
     coo = LerInteiro6Digitos(53);
     dataInicioEmissao             = LerData(59).Value;
     subtotal                      = LerDecimal(67, 81, 2);
     descontoSubtotal              = LerDecimal(81, 94, 2);
     tipoDescontoSubtotal          = LerTipoValor(94);
     acrescimoSubtotal             = LerDecimal(95, 108, 2);
     tipoAcrescimoSubtotal         = LerTipoValor(108);
     valorTotalLiquido             = LerDecimal(109, 123, 2);
     indicadorCancelamento         = LerBooleano(123);
     cancelamentoAcrescimoSubtotal = LerDecimal(124, 137, 2);
     ordemPrimeiroAcrescimo        = LerTipoAplicacao(137);
     nomeAdquirente                = Ler(138, 138 + 40);
     cpfCnpjAdquirente             = Ler(178, 178 + 14);
 }
コード例 #6
0
        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);
        }