Beispiel #1
0
 public static nfeProc Importar(string caminho)
 {
     try
     {
         FileStream    stream          = new FileStream(caminho, FileMode.Open);
         XmlSerializer desserializador = new XmlSerializer(typeof(nfeProc));
         nfeProc       nfe             = (nfeProc)desserializador.Deserialize(stream);
         return(nfe);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public nfeProc DeserializarXML(FileInfo arqXML, int contadorXML)
        {
            log.Estatus = "";
            abrirLog(arqXML, contadorXML);

            //Instancia um novo objeto nfeProc;
            nfe = new nfeProc();

            //Se o XML não for NFe/CTe, finaliza o processo;
            if (eNFeCTe(arqXML) == false)
            {
                return(null);
            }
            //Se o XML não pertencer a empresa, finaliza o processo;
            if (pertenceEmpresa() == false)
            {
                return(null);
            }
            //se o XML estiver em competência inesperada, finaliza o processo;
            if (pertenceCompetencia() == false)
            {
                if (log.Estatus.Equals(TipoStatus.Erro.ToString()))
                {
                    return(null);
                }
            }
            string escrituracao;

            if (log.Estatus.Equals(TipoStatus.Aviso.ToString()))
            {
                escrituracao = "Não Escriturados";
            }
            else
            {
                escrituracao = "Escriturados";
                log.Estatus  = TipoStatus.Sucesso.ToString();
            }
            log.CaminhoDestino = @"D:\XML\" + DadosLogin.empresa.CNPJ_CPF + "\\" + DadosLogin.competencia.Substring(3, 4) + DadosLogin.competencia.Substring(0, 2) + "\\" + escrituracao + "\\" + log.NaturezaFiscal + "\\" + log.TipoNF;
            if (nfe != null)
            {
                log.NumNf = nfe.NFe.infNFe.ide.nNF;
            }
            else
            {
                log.NumNf = cte.CTe.infCte.ide.nCT;
            }
            return(nfe);
        }
Beispiel #3
0
 public static nfeProc Deserializar(string path)
 {
     try
     {
         _reader = new FileStream(path, FileMode.Open);
         XmlSerializer serializer = new XmlSerializer(typeof(nfeProc));
         nfeProc       nfe        = (nfeProc)serializer.Deserialize(_reader);
         _reader.Dispose();
         return(nfe);
     }
     catch (Exception ex)
     {
         _reader.Dispose();
         return(null);
     }
 }
Beispiel #4
0
        private void addListaNFeProc(FileInfo arquivoXML, int contadorArq)
        {
            //Instancia um novo nfeProc e a Classe de Deserialização do XML e passar i como Id para o Log de ocorrência;
            nfeProc nfeProcObj = new nfeProc();
            GerenciadorSerializacaoXML GestorXML = new GerenciadorSerializacaoXML(ref log);

            //Se o retorno for diferente de um objeto nulo, salva na lista de nfeProc
            if ((nfeProcObj = GestorXML.DeserializarXML(arquivoXML, contadorArq)) != null)
            {
                //Verifica a redundância no LogXML retorna False antes de Salvar na ListaNfeProc
                if (vRedunLogXML())
                {
                    //CopiarArquivo(arquivoXML);
                    if (log.Estatus != TipoStatus.Aviso.ToString())
                    {
                        nfeProcObj.nomeArq = arquivoXML.Name;
                        ListaNfeProc.Add(nfeProcObj);
                    }
                }
            }
        }