Skip to content

Hello World MotorTributarioNet!

Roberto Alves Pereira edited this page Jul 25, 2017 · 7 revisions

Para iniciarmos com a lib basta importamos a mesma para o nosso projeto através do Nuget count

Apos importarmos ela pelo nuget, podemos implementar a interface ITributavel

Vamos implementar ela num Produto.

using MotorTributarioNet.Impostos

namespace TestCalculosTributarios.Entidade
{

    public class Produto : ITributavel
    {
        
        public decimal ValorProduto { get; set; }
        public decimal Frete { get; set; }
        public decimal Seguro { get; set; }
        public decimal OutrasDespesas { get; set; }
        public decimal Desconto { get; set; }
        public decimal ValorIpi { get; set; }
        public decimal PercentualReducao { get; set; }
        public decimal QuantidadeProduto { get; set; }
        public decimal PercentualIcms { get; set; }
        public decimal PercentualCredito { get; set; }
        public decimal PercentualDifalInterna { get; set; }
        public decimal PercentualDifalInterestadual { get; set; }
        public decimal PercentualFcp { get; set; }
        public decimal PercentualMva { get; set; }
        public decimal PercentualIcmsSt { get; set; }
        public decimal PercentualIpi { get; set; }
        public decimal PercentualCofins { get; set; }
        public decimal PercentualPis { get; set; }
        public decimal PercentualReducaoSt { get; set; }
    }
} 

Ate aqui temos todos os atributos da interface ITributavel.

Agora vamos brincar?

1 - Instanciar um Produto

2 - Instanciar FacadeCalculadoraTributacao passando como argumento no construtor o Produto (ITributavel)

3 - Basta chamar o método equivalente para calculo no nosso exemplo usamos o ICMS

4 - Verifique o resultado hehe

var produto = new Produto
{

    PercentualIcms = 17.00m,
    ValorProduto = 1000.00m,
    QuantidadeProduto = 1.000m

};

var facade = new FacadeCalculadoraTributacao(produto);

var resultadoCalculoIcms = facade.CalculaIcms();

var baseCalculo = resultadoCalculoIcms.BaseCalculo; // Base de calculo = 1000.00m
var valor = resultadoCalculoIcms.Valor; // valor = 170.00m

Bem simples ne? Quer ver um exemplo? Visite o teste CalculoIcmsTest

Clone this wiki locally