Skip to content

Instantly share code, notes, and snippets.

@facilita-tecnologia
Created January 9, 2018 19:08
Show Gist options
  • Save facilita-tecnologia/13a6fbce9a131bb39d6d4b8326962a64 to your computer and use it in GitHub Desktop.
Save facilita-tecnologia/13a6fbce9a131bb39d6d4b8326962a64 to your computer and use it in GitHub Desktop.
ICMS
// ICMS
// Verificações p/ Simples Nacional
if (_NF_Entrada.CRT == "1")
{
var CSOSN_101 = item.imposto.ICMS.TipoICMS as ICMSSN101;
var CSOSN_102 = item.imposto.ICMS.TipoICMS as ICMSSN102;
var CSOSN_103 = item.imposto.ICMS.TipoICMS as ICMSSN103;
var CSOSN_300 = item.imposto.ICMS.TipoICMS as ICMSSN300;
var CSOSN_400 = item.imposto.ICMS.TipoICMS as ICMSSN400;
var CSOSN_201 = item.imposto.ICMS.TipoICMS as ICMSSN201;
var CSOSN_202 = item.imposto.ICMS.TipoICMS as ICMSSN202;
var CSOSN_203 = item.imposto.ICMS.TipoICMS as ICMSSN203;
var CSOSN_500 = item.imposto.ICMS.TipoICMS as ICMSSN500;
var CSOSN_900 = item.imposto.ICMS.TipoICMS as ICMSSN900;
if (CSOSN_101 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_101.orig);
_Produto.CST_CSOSN = "101";
_Produto.pCredSN = CSOSN_101.pCredSN;
_Produto.vCredICMSSN = CSOSN_101.vCredICMSSN;
}
if (CSOSN_102 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_102.orig);
_Produto.CST_CSOSN = "102";
}
if (CSOSN_300 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_300.orig);
_Produto.CST_CSOSN = "300";
}
if (CSOSN_400 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_400.orig);
_Produto.CST_CSOSN = "400";
}
if (CSOSN_201 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_201.orig);
_Produto.CST_CSOSN = "201";
_Produto.modBCST = Convert.ToInt32(CSOSN_201.modBCST);
_Produto.pMVAST = CSOSN_201.pMVAST;
_Produto.pRedBCST = CSOSN_201.pRedBCST;
_Produto.vBCST = CSOSN_201.vBCST;
_Produto.pICMSST = CSOSN_201.pICMSST;
_Produto.vICMSST = CSOSN_201.vICMSST;
_Produto.pCredSN = CSOSN_201.pCredSN;
_Produto.vCredICMSSN = CSOSN_201.vCredICMSSN;
}
if (CSOSN_202 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_202.orig);
_Produto.CST_CSOSN = "202";
_Produto.modBCST = Convert.ToInt32(CSOSN_202.modBCST);
_Produto.pMVAST = CSOSN_202.pMVAST;
_Produto.pRedBCST = CSOSN_202.pRedBCST;
_Produto.vBCST = CSOSN_202.vBCST;
_Produto.pICMSST = CSOSN_202.pICMSST;
_Produto.vICMSST = CSOSN_202.vICMSST;
}
if (CSOSN_203 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_203.orig);
_Produto.CST_CSOSN = "203";
_Produto.modBCST = Convert.ToInt32(CSOSN_203.modBCST);
_Produto.pMVAST = CSOSN_203.pMVAST;
_Produto.pRedBCST = CSOSN_203.pRedBCST;
_Produto.vBCST = CSOSN_203.vBCST;
_Produto.pICMSST = CSOSN_203.pICMSST;
_Produto.vICMSST = CSOSN_203.vICMSST;
}
if (CSOSN_500 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_500.orig);
_Produto.CST_CSOSN = "500";
_Produto.vBCSTRet = CSOSN_500.vBCSTRet;
_Produto.vICMSSTRet = CSOSN_500.vICMSSTRet;
}
if (CSOSN_900 != null)
{
_Produto.orig = Convert.ToInt32(CSOSN_900.orig);
_Produto.CST_CSOSN = "900";
_Produto.modBC = Convert.ToInt32(CSOSN_900.modBC);
_Produto.vBC = CSOSN_900.vBC;
_Produto.pRedBC = CSOSN_900.pRedBC;
_Produto.pICMS = Convert.ToDecimal(CSOSN_900.pICMS);
_Produto.vICMS = Convert.ToDecimal(CSOSN_900.vICMS);
_Produto.modBCST = Convert.ToInt32(CSOSN_900.modBCST);
_Produto.pMVAST = CSOSN_900.pMVAST;
_Produto.pRedBCST = CSOSN_900.pRedBCST;
_Produto.vBCST = Convert.ToDecimal(CSOSN_900.vBCST);
_Produto.pICMSST = Convert.ToDecimal(CSOSN_900.vBCST);
_Produto.vICMSST = Convert.ToDecimal(CSOSN_900.vICMSST);
_Produto.pCredSN = Convert.ToDecimal(CSOSN_900.pCredSN);
_Produto.vCredICMSSN = Convert.ToDecimal(CSOSN_900.vCredICMSSN);
}
}
// Verificações p/ Outros Regimes
if (_NF_Entrada.CRT != "1")
{
var CST_00 = item.imposto.ICMS.TipoICMS as ICMS00;
var CST_10 = item.imposto.ICMS.TipoICMS as ICMS10;
var CST_20 = item.imposto.ICMS.TipoICMS as ICMS20;
var CST_30 = item.imposto.ICMS.TipoICMS as ICMS30;
var CST_40 = item.imposto.ICMS.TipoICMS as ICMS40;
var CST_41 = item.imposto.ICMS.TipoICMS as ICMS41;
var CST_50 = item.imposto.ICMS.TipoICMS as ICMS50;
var CST_51 = item.imposto.ICMS.TipoICMS as ICMS51;
var CST_60 = item.imposto.ICMS.TipoICMS as ICMS60;
var CST_70 = item.imposto.ICMS.TipoICMS as ICMS70;
var CST_90 = item.imposto.ICMS.TipoICMS as ICMS90;
if (CST_00 != null)
{
_Produto.orig = Convert.ToInt32(CST_00.orig);
_Produto.CST_CSOSN = "00";
_Produto.modBC = Convert.ToInt32(CST_00.modBC);
_Produto.vBC = Convert.ToDecimal(CST_00.vBC);
_Produto.pICMS = Convert.ToDecimal(CST_00.pICMS);
_Produto.vICMS = Convert.ToDecimal(CST_00.vICMS);
}
if (CST_10 != null)
{
_Produto.orig = Convert.ToInt32(CST_10.orig);
_Produto.CST_CSOSN = "10";
_Produto.modBC = Convert.ToInt32(CST_10.modBC);
_Produto.vBC = Convert.ToDecimal(CST_10.vBC);
_Produto.pICMS = Convert.ToDecimal(CST_10.pICMS);
_Produto.vICMS = Convert.ToDecimal(CST_10.vICMS);
_Produto.modBCST = Convert.ToInt32(CST_10.modBCST);
_Produto.pMVAST = Convert.ToDecimal(CST_10.pMVAST);
_Produto.pRedBCST = Convert.ToDecimal(CST_10.pRedBCST);
_Produto.pICMSST = Convert.ToDecimal(CST_10.pICMSST);
_Produto.vICMSST = Convert.ToDecimal(CST_10.vICMS);
}
if (CST_20 != null)
{
_Produto.orig = Convert.ToInt32(CST_20.orig);
_Produto.CST_CSOSN = "20";
_Produto.modBC = Convert.ToInt32(CST_20.modBC);
_Produto.pRedBC = Convert.ToDecimal(CST_20.pRedBC);
_Produto.vBC = Convert.ToDecimal(CST_20.vBC);
_Produto.pICMS = Convert.ToDecimal(CST_20.pICMS);
_Produto.vICMS = Convert.ToDecimal(CST_20.vICMS);
_Produto.vICMSDeson = Convert.ToDecimal(CST_20.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_20.motDesICMS);
}
if (CST_30 != null)
{
_Produto.orig = Convert.ToInt32(CST_30.orig);
_Produto.CST_CSOSN = "30";
_Produto.modBCST = Convert.ToInt32(CST_30.modBCST);
_Produto.pMVAST = Convert.ToDecimal(CST_30.pMVAST);
_Produto.pRedBCST = Convert.ToDecimal(CST_30.pRedBCST);
_Produto.vBCST = Convert.ToDecimal(CST_30.vBCST);
_Produto.pICMSST = Convert.ToDecimal(CST_30.pICMSST);
_Produto.vICMSST = Convert.ToDecimal(CST_30.vICMSST);
_Produto.vICMSDeson = Convert.ToDecimal(CST_30.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_30.motDesICMS);
}
if (CST_40 != null)
{
_Produto.orig = Convert.ToInt32(CST_40.orig);
_Produto.CST_CSOSN = "40";
_Produto.vICMSDeson = Convert.ToDecimal(CST_40.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_40.motDesICMS);
}
if (CST_41 != null)
{
_Produto.orig = Convert.ToInt32(CST_41.orig);
_Produto.CST_CSOSN = "41";
_Produto.vICMSDeson = Convert.ToDecimal(CST_41.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_41.motDesICMS);
}
if (CST_50 != null)
{
_Produto.orig = Convert.ToInt32(CST_50.orig);
_Produto.CST_CSOSN = "51";
_Produto.vICMSDeson = Convert.ToDecimal(CST_50.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_50.motDesICMS);
}
if (CST_60 != null)
{
_Produto.orig = Convert.ToInt32(CST_60.orig);
_Produto.CST_CSOSN = "60";
_Produto.vBCSTRet = Convert.ToDecimal(CST_60.vBCSTRet);
_Produto.vICMSSTRet = Convert.ToInt32(CST_60.vICMSSTRet);
}
if (CST_70 != null)
{
_Produto.orig = Convert.ToInt32(CST_70.orig);
_Produto.CST_CSOSN = "70";
_Produto.modBC = Convert.ToInt32(CST_70.modBC);
_Produto.pRedBC = Convert.ToInt32(CST_70.pRedBC);
_Produto.vBC = Convert.ToDecimal(CST_70.vBC);
_Produto.pICMS = Convert.ToInt32(CST_70.pICMS);
_Produto.vICMS = Convert.ToDecimal(CST_70.vICMS);
_Produto.modBCST = Convert.ToInt32(CST_70.modBCST);
_Produto.pMVAST = Convert.ToDecimal(CST_70.pMVAST);
_Produto.pRedBCST = Convert.ToInt32(CST_70.pRedBCST);
_Produto.vBCST = Convert.ToDecimal(CST_70.vBCST);
_Produto.pICMSST = Convert.ToInt32(CST_70.pICMSST);
_Produto.vICMSST = Convert.ToDecimal(CST_70.vICMSST);
_Produto.vICMSDeson = Convert.ToDecimal(CST_70.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_70.motDesICMS);
}
if (CST_90 != null)
{
_Produto.orig = Convert.ToInt32(CST_90.orig);
_Produto.CST_CSOSN = "90";
_Produto.modBC = Convert.ToInt32(CST_90.modBC);
_Produto.vBC = Convert.ToInt32(CST_90.vBC);
_Produto.pRedBC = Convert.ToDecimal(CST_90.pRedBC);
_Produto.pICMS = Convert.ToInt32(CST_90.pICMS);
_Produto.vICMS = Convert.ToDecimal(CST_90.vICMS);
_Produto.modBCST = Convert.ToInt32(CST_90.modBCST);
_Produto.pMVAST = Convert.ToDecimal(CST_90.pMVAST);
_Produto.pRedBCST = Convert.ToInt32(CST_90.pRedBCST);
_Produto.vBCST = Convert.ToDecimal(CST_90.vBCST);
_Produto.pICMSST = Convert.ToInt32(CST_90.pICMSST);
_Produto.vICMSST = Convert.ToDecimal(CST_90.vICMSST);
_Produto.vICMSDeson = Convert.ToDecimal(CST_90.vICMSDeson);
_Produto.motDesICMS = Convert.ToInt32(CST_90.motDesICMS);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment