Skip to content

Instantly share code, notes, and snippets.

@facilita-tecnologia
Created January 9, 2018 19:14
Show Gist options
  • Save facilita-tecnologia/c1238ba9d49740686347075ce0c88d57 to your computer and use it in GitHub Desktop.
Save facilita-tecnologia/c1238ba9d49740686347075ce0c88d57 to your computer and use it in GitHub Desktop.
OBTER ICMS
private void PreencherICMS(ICMSBasico ICMS, ItemNFeEntrada Prod)
{
/* Simples Nacional */
if (ICMS.GetType() == typeof(ICMSSN101))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN101).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN101).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMSSN102))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN101).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN101).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMSSN500))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN101).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN101).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMSSN900))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN101).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN101).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMSSN201))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN101).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN101).orig).ToString();
Prod.PMVAST = (ICMS as ICMSSN201).pMVAST ?? 0;
Prod.PREDBCST = (ICMS as ICMSSN201).pRedBCST ?? 0;
Prod.MODBCST = (int)(ICMS as ICMSSN201).modBCST;
Prod.VBCST = (ICMS as ICMSSN201).vBCST;
Prod.VICMSST = (ICMS as ICMSSN201).vICMSST;
Prod.PICMSST = (ICMS as ICMSSN201).pICMSST;
}
if (ICMS.GetType() == typeof(ICMSSN202))
{
Prod.CSTICMS = ((int)(ICMS as ICMSSN202).CSOSN).ToString();
Prod.ORIG = ((int)(ICMS as ICMSSN202).orig).ToString();
Prod.PMVAST = (ICMS as ICMSSN202).pMVAST ?? 0;
Prod.PREDBCST = (ICMS as ICMSSN202).pRedBCST ?? 0;
Prod.MODBCST = (int)(ICMS as ICMSSN202).modBCST;
Prod.VBCST = (ICMS as ICMSSN202).vBCST;
Prod.VICMSST = (ICMS as ICMSSN202).vICMSST;
Prod.PICMSST = (ICMS as ICMSSN202).pICMSST;
}
/* Regime Normal */
if (ICMS.GetType() == typeof(ICMS00))
{
Prod.CSTICMS = ((int)(ICMS as ICMS00).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS00).orig).ToString();
Prod.MODBC = (int)(ICMS as ICMS00).modBC;
Prod.VBCST = (ICMS as ICMS00).vBC;
Prod.PICMS = (ICMS as ICMS00).pICMS;
Prod.VICMS = (ICMS as ICMS00).vICMS;
}
if (ICMS.GetType() == typeof(ICMS10))
{
Prod.CSTICMS = ((int)(ICMS as ICMS10).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS10).orig).ToString();
Prod.PICMS = (ICMS as ICMS10).pICMS;
Prod.VICMS = (ICMS as ICMS10).vICMS;
Prod.PICMSST = (ICMS as ICMS10).pICMSST;
Prod.PMVAST = (ICMS as ICMS10).pMVAST ?? 0;
Prod.VBCST = (ICMS as ICMS10).vBCST;
Prod.VICMSST = (ICMS as ICMS10).vICMSST;
}
if (ICMS.GetType() == typeof(ICMS20))
{
Prod.CSTICMS = ((int)(ICMS as ICMS20).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS20).orig).ToString();
Prod.MODBC = (int)(ICMS as ICMS20).modBC;
Prod.PICMS = (ICMS as ICMS20).pICMS;
Prod.PREDBC = (ICMS as ICMS20).pRedBC;
Prod.VICMS = (ICMS as ICMS20).vICMS;
}
if (ICMS.GetType() == typeof(ICMS30))
{
Prod.CSTICMS = ((int)(ICMS as ICMS30).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS30).orig).ToString();
Prod.MODBCST = (int)(ICMS as ICMS30).modBCST;
Prod.PMVAST = (int)(ICMS as ICMS30).pMVAST;
Prod.PREDBCST = (int)(ICMS as ICMS30).pRedBCST;
Prod.VBCST = (int)(ICMS as ICMS30).vBCST;
Prod.PICMSST = (int)(ICMS as ICMS30).pICMSST;
Prod.VICMSST = (int)(ICMS as ICMS30).vICMSST;
}
if (ICMS.GetType() == typeof(ICMS40))
{
Prod.CSTICMS = ((int)(ICMS as ICMS40).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS40).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMS60))
{
Prod.CSTICMS = ((int)(ICMS as ICMS60).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS60).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMS90))
{
Prod.CSTICMS = ((int)(ICMS as ICMS90).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS90).orig).ToString();
}
if (ICMS.GetType() == typeof(ICMS51))
{
Prod.CSTICMS = ((int)(ICMS as ICMS51).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS51).orig).ToString();
Prod.VICMS = (ICMS as ICMS51).vICMS ?? 0;
Prod.MODBC = (int)(ICMS as ICMS51).modBC;
Prod.PICMS = (ICMS as ICMS51).pICMS ?? 0;
}
if (ICMS.GetType() == typeof(ICMS70))
{
Prod.CSTICMS = ((int)(ICMS as ICMS51).CST).ToString();
Prod.ORIG = ((int)(ICMS as ICMS51).orig).ToString();
Prod.MODBC = (int)(ICMS as ICMS70).modBC;
Prod.PREDBC = (ICMS as ICMS70).pRedBC;
Prod.PICMS = (ICMS as ICMS70).pICMS;
Prod.VICMS = (ICMS as ICMS70).vICMS;
Prod.MODBCST = (int)(ICMS as ICMS70).modBCST;
Prod.PMVAST = (ICMS as ICMS70).pMVAST ?? 0;
Prod.PREDBCST = (ICMS as ICMS70).pRedBCST ?? 0;
Prod.VBCST = (ICMS as ICMS70).vBCST;
Prod.PICMSST = (ICMS as ICMS70).pICMSST;
Prod.VICMSST = (ICMS as ICMS70).vICMSST;
}
}
private void PreencherPIS(PISBasico PISBasico, ItemNFeEntrada Prod)
{
if (PISBasico.GetType() == typeof(PISAliq))
{
Prod.CSTPIS = ((int)(PISBasico as PISAliq).CST).ToString();
Prod.PPIS = (PISBasico as PISAliq).pPIS;
Prod.VBCPIS = (PISBasico as PISAliq).vBC;
Prod.VPIS = (PISBasico as PISAliq).vPIS;
}
if (PISBasico.GetType() == typeof(PISQtde))
{
Prod.CSTPIS = ((int)(PISBasico as PISQtde).CST).ToString();
Prod.PPIS = (PISBasico as PISQtde).vAliqProd;
Prod.VBCPIS = (PISBasico as PISQtde).qBCProd;
Prod.VPIS = (PISBasico as PISQtde).vPIS;
}
if (PISBasico.GetType() == typeof(PISNT))
{
Prod.CSTPIS = ((int)(PISBasico as PISNT).CST).ToString();
}
if (PISBasico.GetType() == typeof(PISOutr))
{
Prod.CSTPIS = ((int)(PISBasico as PISOutr).CST).ToString();
Prod.PPIS = (PISBasico as PISOutr).pPIS ?? 0;
Prod.VBCPIS = (PISBasico as PISOutr).vBC ?? 0;
Prod.VPIS = (PISBasico as PISOutr).vPIS ?? 0;
}
}
private void PreencherCOFINS(COFINSBasico COFINSBasico, ItemNFeEntrada Prod)
{
if (COFINSBasico.GetType() == typeof(COFINSAliq))
{
Prod.CSTCOFINS = ((int)(COFINSBasico as COFINSAliq).CST).ToString();
Prod.PCOFINS = (COFINSBasico as COFINSAliq).pCOFINS;
Prod.VBCOFINS = (COFINSBasico as COFINSAliq).vBC;
Prod.VCOFINS = (COFINSBasico as COFINSAliq).vCOFINS;
}
if (COFINSBasico.GetType() == typeof(COFINSQtde))
{
Prod.CSTCOFINS = ((int)(COFINSBasico as COFINSQtde).CST).ToString();
Prod.PCOFINS = (COFINSBasico as COFINSQtde).vAliqProd;
Prod.VBCOFINS = (COFINSBasico as COFINSQtde).qBCProd;
Prod.VCOFINS = (COFINSBasico as COFINSQtde).vCOFINS;
}
if (COFINSBasico.GetType() == typeof(COFINSNT))
{
Prod.CSTCOFINS = ((int)(COFINSBasico as COFINSNT).CST).ToString();
}
if (COFINSBasico.GetType() == typeof(COFINSOutr))
{
Prod.CSTCOFINS = ((int)(COFINSBasico as COFINSOutr).CST).ToString();
Prod.PCOFINS = (COFINSBasico as COFINSOutr).pCOFINS ?? 0;
Prod.VBCOFINS = (COFINSBasico as COFINSOutr).vBC ?? 0;
Prod.VCOFINS = (COFINSBasico as COFINSOutr).vCOFINS ?? 0;
}
}
private void PreencherPartilhaICMS(ICMSUFDest ICMSPartilha, ItemNFeEntrada Prod)
{
Prod.VBCUFDEST = ICMSPartilha.vBCUFDest;
Prod.PFCPUFDEST = ICMSPartilha.pFCPUFDest;
Prod.PICMSINTER = ICMSPartilha.pICMSInter;
Prod.PICMSUFDEST = ICMSPartilha.pICMSUFDest;
Prod.PICMSINTERPART = ICMSPartilha.pICMSInterPart;
Prod.VFCPUFDEST = ICMSPartilha.vFCPUFDest;
Prod.VICMSUFDEST = ICMSPartilha.vICMSUFDest;
Prod.VICMSUFREMET = ICMSPartilha.vICMSUFRemet;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment