private XmlElement GerarEmit(NFe NFe)
{
XmlElement ELemit = doc.CreateElement("emit");
nodeCurrent = ELemit;
if (string.IsNullOrEmpty(NFe.emit.CNPJ) && string.IsNullOrEmpty(NFe.emit.CPF))
throw new Exception("CNPJ/CPF inválido no segmento [C]");
if (!string.IsNullOrEmpty(NFe.emit.CNPJ))
wCampo(NFe.emit.CNPJ, TpcnTipoCampo.tcStr, TpcnResources.CNPJ);
else
wCampo(NFe.emit.CPF, TpcnTipoCampo.tcStr, TpcnResources.CPF);
wCampo(NFe.emit.xNome, TpcnTipoCampo.tcStr, TpcnResources.xNome);
wCampo(NFe.emit.xFant, TpcnTipoCampo.tcStr, TpcnResources.xFant, ObOp.Opcional);
///
/// <enderEmit>
///
XmlElement el = doc.CreateElement("enderEmit");
nodeCurrent.AppendChild(el);
nodeCurrent = el;
wCampo(NFe.emit.enderEmit.xLgr, TpcnTipoCampo.tcStr, TpcnResources.xLgr);
wCampo(NFe.emit.enderEmit.nro, TpcnTipoCampo.tcStr, TpcnResources.nro);
wCampo(NFe.emit.enderEmit.xCpl, TpcnTipoCampo.tcStr, TpcnResources.xCpl, ObOp.Opcional);
wCampo(NFe.emit.enderEmit.xBairro, TpcnTipoCampo.tcStr, TpcnResources.xBairro);
wCampo(NFe.emit.enderEmit.cMun, TpcnTipoCampo.tcInt, TpcnResources.cMun, ObOp.Obrigatorio, 7);
wCampo(NFe.emit.enderEmit.xMun, TpcnTipoCampo.tcStr, TpcnResources.xMun);
wCampo(NFe.emit.enderEmit.UF, TpcnTipoCampo.tcStr, TpcnResources.UF);
wCampo(NFe.emit.enderEmit.CEP, TpcnTipoCampo.tcInt, TpcnResources.CEP, ObOp.Opcional, 8);
wCampo(NFe.emit.enderEmit.cPais, TpcnTipoCampo.tcInt, TpcnResources.cPais, ObOp.Opcional);
wCampo(NFe.emit.enderEmit.xPais, TpcnTipoCampo.tcStr, TpcnResources.xPais, ObOp.Opcional);
wCampo(NFe.emit.enderEmit.fone, TpcnTipoCampo.tcStr, TpcnResources.fone, ObOp.Opcional);
///
/// </enderEmit>
///
nodeCurrent = ELemit;
wCampo(NFe.emit.IE, TpcnTipoCampo.tcStr, TpcnResources.IE);
wCampo(NFe.emit.IEST, TpcnTipoCampo.tcStr, TpcnResources.IEST, ObOp.Opcional);
wCampo(NFe.emit.IM, TpcnTipoCampo.tcStr, TpcnResources.IM, ObOp.Opcional);
if (NFe.emit.IM.Length > 0)
wCampo(NFe.emit.CNAE, TpcnTipoCampo.tcStr, TpcnResources.CNAE, ObOp.Opcional);
wCampo(NFe.emit.CRT, TpcnTipoCampo.tcInt, TpcnResources.CRT);
return ELemit;
}