/// <summary> /// Coverte uma string XML no formato CTe para um objeto CTe /// </summary> /// <param name="cte"></param> /// <param name="xmlString"></param> /// <returns>Retorna um objeto do tipo CTe</returns> public static CteEletronica CarregarDeXmlString(this CteEletronica cte, string xmlString) { var s = FuncoesXml.ObterNodeDeStringXml(typeof(CteEletronica).Name, xmlString); return(FuncoesXml.XmlStringParaClasse <CteEletronica>(s)); }
internal static string ObterArquivoSchema(ServicoNFe servicoNFe, VersaoServico versaoServico, string stringXml, bool loteNfe = true) { switch (servicoNFe) { case ServicoNFe.NfeRecepcao: return(loteNfe ? "enviNFe_v2.00.xsd" : "nfe_v2.00.xsd"); case ServicoNFe.RecepcaoEventoCancelmento: var strEvento = FuncoesXml.ObterNodeDeStringXml(nameof(envEvento), stringXml); var evento = FuncoesXml.XmlStringParaClasse <envEvento>(strEvento); return(evento.evento.FirstOrDefault()?.infEvento?.tpEvento == NFeTipoEvento.TeNfeCancelamentoSubstituicao ? "envEventoCancSubst_v1.00.xsd" : "envEventoCancNFe_v1.00.xsd"); case ServicoNFe.RecepcaoEventoCartaCorrecao: return("envCCe_v1.00.xsd"); case ServicoNFe.RecepcaoEventoEpec: return("envEPEC_v1.00.xsd"); case ServicoNFe.RecepcaoEventoManifestacaoDestinatario: return("envConfRecebto_v1.00.xsd"); case ServicoNFe.NfeInutilizacao: switch (versaoServico) { case VersaoServico.Versao200: return("inutNFe_v2.00.xsd"); case VersaoServico.Versao310: return("inutNFe_v3.10.xsd"); case VersaoServico.Versao400: return("inutNFe_v4.00.xsd"); } break; case ServicoNFe.NfeConsultaProtocolo: switch (versaoServico) { case VersaoServico.Versao200: return("consSitNFe_v2.01.xsd"); case VersaoServico.Versao310: return("consSitNFe_v3.10.xsd"); case VersaoServico.Versao400: return("consSitNFe_v4.00.xsd"); } break; case ServicoNFe.NfeStatusServico: switch (versaoServico) { case VersaoServico.Versao200: return("consStatServ_v2.00.xsd"); case VersaoServico.Versao310: return("consStatServ_v3.10.xsd"); case VersaoServico.Versao400: return("consStatServ_v4.00.xsd"); } break; case ServicoNFe.NFeAutorizacao: if (versaoServico != VersaoServico.Versao400) { return(loteNfe ? "enviNFe_v3.10.xsd" : "nfe_v3.10.xsd"); } return(loteNfe ? "enviNFe_v4.00.xsd" : "nfe_v4.00.xsd"); case ServicoNFe.NfeConsultaCadastro: return("consCad_v2.00.xsd"); case ServicoNFe.NfeDownloadNF: return("downloadNFe_v1.00.xsd"); case ServicoNFe.NFeDistribuicaoDFe: return("distDFeInt_v1.01.xsd"); // "distDFeInt_v1.00.xsd"; } return(null); }
/// <summary> /// Coverte uma string XML no formato procEventoNFe para um objeto procEventoNFe /// </summary> /// <param name="procEventoNFe"></param> /// <param name="xmlString"></param> /// <returns>Retorna um objeto do tipo procEventoNFe</returns> public static procEventoNFe CarregarDeXmlString(this procEventoNFe procEventoNFe, string xmlString) { var s = FuncoesXml.ObterNodeDeStringXml(typeof(procEventoNFe).Name, xmlString); return(FuncoesXml.XmlStringParaClasse <procEventoNFe>(s)); }
/// <summary> /// Coverte uma string XML no formato NFe para um objeto NFe /// </summary> /// <param name="nfe"></param> /// <param name="xmlString"></param> /// <returns>Retorna um objeto do tipo NFe</returns> public static Classes.NFe CarregarDeXmlString(this Classes.NFe nfe, string xmlString) { var s = FuncoesXml.ObterNodeDeStringXml(typeof(Classes.NFe).Name, xmlString); return(FuncoesXml.XmlStringParaClasse <Classes.NFe>(s)); }
/// <summary> /// Coverte uma string XML no formato nfeProc para um objeto nfeProc /// </summary> /// <param name="nfeProc"></param> /// <param name="xmlString"></param> /// <returns>Retorna um objeto do tipo nfeProc</returns> public static nfeProc CarregarDeXmlString(this nfeProc nfeProc, string xmlString) { var s = FuncoesXml.ObterNodeDeStringXml(typeof(nfeProc).Name, xmlString); return(FuncoesXml.XmlStringParaClasse <nfeProc>(s)); }