Skip to content

Hello World MotorTributarioNet!

Roberto Alves Pereira edited this page Sep 11, 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 MotorTributarioNet.Flags.Cst Cst { get; set; }
        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 Csosn equivalente no nosso exemplo é Csosn101 passando como argumento no método Calcula o Produto (ITributavel)

3 - Verifique o resultado hehe

var produto = new Produto
{
    QuantidadeProduto = 1.000m,
    ValorProduto = 1000.00m,
    PercentualCredito = 17.00m 
};

var csosn101 = new Csosn101();

csosn101.Calcula(produto);

Assert.AreEqual(170.00m, csosn101.ValorCredito);
Assert.AreEqual(17.00m, csosn101.PercentualCredito);

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

Clone this wiki locally