internal static DanfeEventoViewModel CreateFromXmlString(string xml)
 {
     try
     {
         var evento = NFeProcEvento.Load(xml);
         return(CreateFromXml(evento));
     }
     catch (System.Exception ex)
     {
         throw new System.Exception("Não foi possível interpretar o texto Xml.", ex);
     }
 }
 internal static DanfeEventoViewModel CreateFromXmlStream(Stream stream)
 {
     try
     {
         var evento = NFeProcEvento.Load(stream);
         return(CreateFromXml(evento));
     }
     catch (System.Exception ex)
     {
         if (ex.InnerException is XmlException e)
         {
             throw new System.Exception($"Não foi possível interpretar o Xml. Linha {e.LineNumber} Posição {e.LinePosition}.");
         }
         throw new XmlException("O Xml não parece ser um Evento processado.", ex);
     }
 }
        public static DanfeEventoViewModel CreateFromXml(NFeProcEvento procEvento)
        {
            var infEvento    = procEvento.Evento.InfEvento;
            var retInfEvento = procEvento.RetEvento.InfEvento;
            var model        = new DanfeEventoViewModel
            {
                ChaveAcesso     = infEvento.Chave,
                Orgao           = (int)infEvento.COrgao,
                TipoAmbiente    = (int)infEvento.TpAmb,
                DataHoraEvento  = infEvento.DhEvento.DateTime,
                TipoEvento      = infEvento.TpEvento,
                DescricaoEvento = infEvento.DetEvento.DescEvento,
                SequenciaEvento = infEvento.NSeqEvento,
                CodigoStatus    = retInfEvento.CStat.ToString(),
                Motivo          = retInfEvento.xMotivo,
                Protocolo       = retInfEvento.NProt,
                Justificativa   = infEvento.DetEvento.XJust,
                Correcao        = infEvento.DetEvento.XCorrecao,
                CondicaoUso     = infEvento.DetEvento.XCondUso
            };

            return(model);
        }
 public NFeRecepcaoEventoResposta(string xmlEnvio, string xmlRetorno, string envelopeSoap, string respostaWs) : base(xmlEnvio, xmlRetorno, envelopeSoap, respostaWs)
 {
     ProcEvento = new NFeProcEvento();
 }