예제 #1
0
 public ResultadoTributacao(ITributavelProduto produto, Crt crtEmpresa, TipoOperacao operacao, TipoPessoa tipoPessoa, TipoDesconto tipoDesconto = TipoDesconto.Incondicional)
 {
     _produto     = produto;
     CrtEmpresa   = crtEmpresa;
     Operacao     = operacao;
     TipoPessoa   = tipoPessoa;
     TipoDesconto = tipoDesconto;
 }
예제 #2
0
 public SolicitacaoDesconto(
     int solicitacaoId,
     TipoPesquisa tipoPesquisa,
     string tipoPesquisaNumero,
     decimal valorGR,
     int clienteId,
     string razaoSocial,
     int indicadorId,
     string proposta,
     DateTime?vencimentoGR,
     DateTime?freeTimeGR,
     int periodo,
     int lote,
     string reserva,
     FormaPagamento formaPagamento,
     TipoDesconto tipoDesconto,
     decimal valorDesconto,
     decimal valorDescontoNoServico,
     decimal valorDescontoFinal,
     bool tipoDescontoPorServico,
     int servicoFaturadoId,
     int servicoId,
     decimal servicoValor,
     decimal descontoComImposto,
     DateTime?vencimento,
     DateTime?freeTime,
     int criadoPor)
 {
     SolicitacaoId      = solicitacaoId;
     TipoPesquisa       = tipoPesquisa;
     TipoPesquisaNumero = tipoPesquisaNumero;
     ValorGR            = valorGR;
     ClienteId          = clienteId;
     RazaoSocial        = razaoSocial;
     IndicadorId        = indicadorId;
     Proposta           = proposta;
     VencimentoGR       = vencimentoGR;
     FreeTimeGR         = freeTimeGR;
     Periodo            = periodo;
     Lote                   = lote;
     Reserva                = reserva;
     FormaPagamento         = formaPagamento;
     TipoDesconto           = tipoDesconto;
     ValorDesconto          = valorDesconto;
     ValorDescontoNoServico = valorDescontoNoServico;
     ValorDescontoFinal     = valorDescontoFinal;
     TipoDescontoPorServico = tipoDescontoPorServico;
     ServicoFaturadoId      = servicoFaturadoId;
     ServicoId              = servicoId;
     ServicoValor           = servicoValor;
     DescontoComImposto     = descontoComImposto;
     Vencimento             = vencimento;
     FreeTime               = freeTime;
     CriadoPor              = criadoPor;
 }
        public InstrucoesDoTitulo(double multa, int multaApos, double juros, TipoDesconto tipoDesconto,
                                  double valorDesconto, DateTime?dataLimiteDesconto, double valorAbatimento, TipoProtesto tipoProtesto,
                                  int protestarApos, int baixarApos, TipoPagamento tipoPagamento, int quantidadePagamentosPossiveis,
                                  TipoValor tipoValor, double percentualMinimo, double percentualMaximo)
        {
            Multa                         = multa;
            MultaApos                     = multaApos;
            Juros                         = juros;
            TipoDesconto                  = tipoDesconto;
            ValorDesconto                 = valorDesconto;
            DataLimiteDesconto            = dataLimiteDesconto;
            ValorAbatimento               = valorAbatimento;
            TipoProtesto                  = tipoProtesto;
            ProtestarApos                 = protestarApos;
            BaixarApos                    = baixarApos;
            TipoPagamento                 = tipoPagamento;
            QuantidadePagamentosPossiveis = quantidadePagamentosPossiveis;
            TipoValor                     = tipoValor;
            PercentualMinimo              = percentualMinimo;
            PercentualMaximo              = percentualMaximo;

            Validar();
        }
예제 #4
0
 public Cst50(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional) : base(origemMercadoria, tipoDesconto)
 {
     Cst = Cst.Cst50;
 }
예제 #5
0
 public CsosnBase(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional)
 {
     OrigemMercadoria = origemMercadoria;
     TipoDesconto     = tipoDesconto;
 }
예제 #6
0
 public CalculoBaseIcmsSemIpi(ITributavel tributavel, TipoDesconto tipoDesconto) : base(tributavel)
 {
     _tributavel   = tributavel;
     _tipoDesconto = tipoDesconto;
 }
 public BaseCalculoCofins(TipoDesconto tipoDesconto)
 {
     _tipoDesconto = tipoDesconto;
 }
 public CalculaBaseCalculoIpi(ITributavel tributavel, TipoDesconto tipoDesconto) : base(tributavel)
 {
     _tributavel   = tributavel;
     _tipoDesconto = tipoDesconto;
 }
예제 #9
0
 public TributacaoIcmsSt(ITributavel tributavel, TipoDesconto tipoDesconto)
 {
     _tributavel = tributavel ?? throw new ArgumentNullException(nameof(tributavel));
     _calculaBaseCalculoIcmsSemIpi = new CalculoBaseIcmsSemIpi(_tributavel, tipoDesconto);
     _baseIcmsSt = new CalculoBaseIcmsSt(_tributavel, tipoDesconto);
 }
 public BaseCalculoIcms(TipoDesconto tipoDesconto)
 {
     _tipoDesconto = tipoDesconto;
 }
예제 #11
0
 public TributacaoPis(ITributavel tributavel, TipoDesconto tipoDesconto, SimNao incluirIPI = SimNao.Nao)
 {
     _tributavel            = tributavel ?? throw new ArgumentNullException(nameof(tributavel));
     _incluirIPI            = incluirIPI;
     _calculaBaseCalculoPis = new CalculaBaseCalculoPis(_tributavel, tipoDesconto, _incluirIPI);
 }
 public FacadeCalculadoraTributacao(ITributavel tributavel, TipoDesconto tipoDesconto = TipoDesconto.Incondicional)
 {
     _tributavel   = tributavel;
     _tipoDesconto = tipoDesconto;
 }
 public TributacaoDifal(ITributavel tributavel, TipoDesconto tipoDesconto)
 {
     _tributavel             = tributavel ?? throw new ArgumentNullException(nameof(tributavel));
     _calculaBaseCalculoIcms = new CalculaBaseCalculoIcms(_tributavel, tipoDesconto);
     _tributacaoFcp          = new TributacaoFcp(_tributavel, tipoDesconto);
 }
예제 #14
0
 public CalculaBaseFcp(ITributavel tributavel, TipoDesconto tipoDesconto) : base(tributavel, tipoDesconto)
 {
 }
예제 #15
0
 public Cst90(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional) : base(origemMercadoria, tipoDesconto)
 {
     Cst = Cst.Cst90;
     ModalidadeDeterminacaoBcIcmsSt = ModalidadeDeterminacaoBcIcmsSt.MargemValorAgregado;
     ModalidadeDeterminacaoBcIcms   = ModalidadeDeterminacaoBcIcms.ValorOperacao;
 }
예제 #16
0
 public Csosn400(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional) : base(origemMercadoria, tipoDesconto)
 {
     Csosn = Csosn.Csosn400;
 }
예제 #17
0
 public Cst51(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional) : base(origemMercadoria, tipoDesconto)
 {
     Cst = Cst.Cst51;
     ModalidadeDeterminacaoBcIcms = ModalidadeDeterminacaoBcIcms.ValorOperacao;
 }
예제 #18
0
 public Csosn201(OrigemMercadoria origemMercadoria = OrigemMercadoria.Nacional, TipoDesconto tipoDesconto = TipoDesconto.Incondicional) : base(origemMercadoria, tipoDesconto)
 {
     Csosn = Csosn.Csosn201;
     ModalidadeDeterminacaoBcIcmsSt = ModalidadeDeterminacaoBcIcmsSt.MargemValorAgregado;
 }
예제 #19
0
 public TributacaoCreditoIcms(ITributavel tributavel, TipoDesconto tipoDesconto)
 {
     _tipoDesconto           = tipoDesconto;
     _tributavel             = tributavel ?? throw new ArgumentNullException(nameof(tributavel));
     _calculaBaseCalculoIcms = new CalculaBaseCalculoIcms(_tributavel, _tipoDesconto);
 }
예제 #20
0
 public CalculaBaseCalculoPis(ITributavel tributavel, TipoDesconto tipoDesconto, SimNao incluirIpi = SimNao.Nao) : base(tributavel)
 {
     _tributavel   = tributavel;
     _tipoDesconto = tipoDesconto;
     _incluirIpi   = incluirIpi;
 }
 public TributacaoCofins(ITributavel tributavel, TipoDesconto tipoDesconto)
 {
     _tributavel = tributavel ?? throw new ArgumentNullException(nameof(tributavel));
     _calculaBaseCalculoCofins = new CalculaBaseCalculoCofins(_tributavel, tipoDesconto);
 }
예제 #22
0
        public void FecharPedido_ValoresValidos_DeveTerSucesso(decimal valorItem, decimal desconto, TipoDesconto tipo, decimal gorjeta, decimal comissao, decimal totalEsperado)
        {
            //Arrange
            Pedido pedido = new PedidoTestBuilder().Build().Value;

            pedido.AdicionarItem(1, new Quantidade(1), new Preco(valorItem));

            //Act
            Result result = pedido.FecharPedido(comissao, gorjeta, desconto, tipo);

            //Assert
            result.IsSuccess.ShouldBeTrue();
            Math.Round(pedido.Total, 2).ShouldBe(totalEsperado);
            pedido.Status.ShouldBe(StatusPedido.Fechado);
        }