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.

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