-
Notifications
You must be signed in to change notification settings - Fork 42
Hello World MotorTributarioNet!
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