private List<strucArquivo> MontaStrucArquivos(string[] Arquivos)
        {
            List<strucArquivo> objArquivos = new List<strucArquivo>();
            List<strucXmlValidacao> objLisXmlNaoValidado = new List<strucXmlValidacao>();

            string sNomearq = string.Empty;

            try
            {
                string sDoc = "";

                foreach (string sArquivo in Arquivos)
                {
                    strucArquivo objArquivo = new strucArquivo();
                    objArquivo.Arquivo = sArquivo.ToString();
                    sNomearq = sArquivo;
                    belImportaXmlNFe xmlEscritor = new belImportaXmlNFe(sNomearq);
                    belEscrituracao objbelEscrituracao = new belEscrituracao(fbConexao);
                    string sCD_EMPRESA = cbxEmpresas.SelectedValue.ToString();
                    string sCD_CLIFOR = "";
                    string sTipo = "";
                    bool bValida = true;
                    try
                    {
                        belInfNFe objInfNFe = xmlEscritor.MontaInfNFe();


                        if (objInfNFe != null)
                        {
                            string sTipoLanc = TipoLancamento(objInfNFe);
                            bool bSaida = true; //  NotaSaida();
                            if (sTipoLanc == "E")
                            {
                                bSaida = false;
                            }
                            sDoc = "";

                            if (!bSaida)
                            {
                                if (objInfNFe.BelEmit.Cnpj != null)
                                {
                                    sDoc = objInfNFe.BelEmit.Cnpj.ToString();
                                }
                                else
                                {
                                    sDoc = objInfNFe.BelEmit.Cpf.ToString();
                                }
                            }
                            else
                            {
                                if (objInfNFe.BelDest.Cnpj != null)
                                {
                                    sDoc = objInfNFe.BelDest.Cnpj.ToString();
                                }
                                else
                                {
                                    sDoc = objInfNFe.BelDest.Cpf.ToString();
                                }
                            }

                            sTipo = (objInfNFe.BelDest.Cnpj != null ? "CNPJ" : "CPF");
                            sCD_CLIFOR = objbelEscrituracao.BuscaCodigoClifor(objbelEscrituracao.FormataString(sDoc, sTipo), objInfNFe, bSaida);
                            if (sCD_CLIFOR != "")
                            {
                                
                               // if (bSaida)
                                {
                                    bValida = objbelEscrituracao.ValidaNotaJaEscriturada(sCD_EMPRESA, objInfNFe.BelIde.Nnf,
                                       objInfNFe.BelIde.Serie,
                                       sCD_CLIFOR,
                                       objInfNFe.BelIde.Mod,
                                       bSaida
                                       );
                                }
                            }

                            if (bValida)
                            {
                                objArquivo.Nota = objInfNFe.BelIde.Nnf;
                                objArquivo.Emitente = objInfNFe.BelEmit.Xnome;
                                objArquivo.Destinatario = objInfNFe.BelDest.Xnome;
                                objArquivo.Emissao = objInfNFe.BelIde.Demi;
                                objArquivo.NFE = objInfNFe.Id;

                                objArquivos.Add(objArquivo);
                            }
                        }
                        else
                        {
                            strucXmlValidacao obj = new strucXmlValidacao();
                            obj.Xml = sNomearq;
                            obj.Motivo = "Não foi encontrado a Tag 'protNFe'.  XML NÃO É VÁLIDO!! ";
                            objLisXmlNaoValidado.Add(obj);
                        }
                    }
                    catch (Exception ex)
                    {
                        strucXmlValidacao obj = new strucXmlValidacao();
                        obj.Xml = sNomearq;
                        obj.Motivo = ex.Message;
                        objLisXmlNaoValidado.Add(obj);
                    }
                }

            }
            catch (Exception ex)
            {
                //throw new Exception(string.Format("Não foi possivel ler o arquivo {0}, devido ao Erro.: {1}",
                //                                  sNomearq,
                //                                  ex.Message));
                strucXmlValidacao obj = new strucXmlValidacao();
                obj.Xml = sNomearq;
                obj.Motivo = ex.Message;// "Não foi encontrado a Tag 'protNFe'.  XML NÃO É VÁLIDO!! ";
                objLisXmlNaoValidado.Add(obj);
            }
            dgvXmlNaoValidado.DataSource = objLisXmlNaoValidado;
            dgvXmlNaoValidado.Columns[0].Width = 500;
            dgvXmlNaoValidado.Columns[1].Width = 200;
            if (objLisXmlNaoValidado.Count > 0)
            {
                lblXmlNaoValidado.Text = "| " + objLisXmlNaoValidado.Count.ToString() + " registros não válidos para Escrituração";
            }
            else
            {
                lblXmlNaoValidado.Text = "";
            }

            return objArquivos;
        }
        private List<strucArquivo> MontaStrucArquivos(string[] Arquivos)
        {
            List<strucArquivo> objArquivos = new List<strucArquivo>();
            List<strucXmlValidacao> objLisXmlNaoValidado = new List<strucXmlValidacao>();

            string sNomearq = string.Empty;

            try
            {
                foreach (string sArquivo in Arquivos)
                {
                    strucArquivo objArquivo = new strucArquivo();
                    objArquivo.Arquivo = sArquivo.ToString();
                    sNomearq = sArquivo;
                    belImportaXmlNFe xmlEscritor = new belImportaXmlNFe(sNomearq);

                    try
                    {
                        belInfNFe objInfNFe = xmlEscritor.MontaInfNFe();
                        if (objInfNFe != null)
                        {
                            objArquivo.Nota = objInfNFe.ide.Nnf;
                            objArquivo.Emitente = objInfNFe.emit.Xnome;
                            objArquivo.Destinatario = objInfNFe.dest.Xnome;
                            objArquivo.Emissao = objInfNFe.ide.Demi;
                            objArquivo.NFE = objInfNFe.id;

                            objArquivos.Add(objArquivo);
                        }
                        else
                        {
                            strucXmlValidacao obj = new strucXmlValidacao();
                            obj.Xml = sNomearq;
                            obj.Motivo = "Não foi encontrado a Tag 'protNFe'.  Xml não é válid0";
                            objLisXmlNaoValidado.Add(obj);
                        }
                    }
                    catch (Exception ex)
                    {
                        strucXmlValidacao obj = new strucXmlValidacao();
                        obj.Xml = sNomearq;
                        obj.Motivo = ex.Message;
                        objLisXmlNaoValidado.Add(obj);
                    }
                }

            }
            catch (Exception ex)
            {
                //throw new Exception(string.Format("Não foi possivel ler o arquivo {0}, devido ao Erro.: {1}",
                //                                  sNomearq,
                //                                  ex.Message));
                strucXmlValidacao obj = new strucXmlValidacao();
                obj.Xml = sNomearq;
                obj.Motivo = ex.Message;
                objLisXmlNaoValidado.Add(obj);
            }
            dgvXmlNaoValidado.DataSource = objLisXmlNaoValidado;
            if (objLisXmlNaoValidado.Count > 0)
            {
                lblXmlNaoValidado.Text = objLisXmlNaoValidado.Count.ToString() + " arquivo(s) não válido(s)";
            }
            else
            {
                lblXmlNaoValidado.Text = "";
            }

            return objArquivos;
        }
Beispiel #3
0
        private List <strucArquivo> MontaStrucArquivos(string[] Arquivos)
        {
            List <strucArquivo>      objArquivos          = new List <strucArquivo>();
            List <strucXmlValidacao> objLisXmlNaoValidado = new List <strucXmlValidacao>();

            string sNomearq = string.Empty;

            try
            {
                foreach (string sArquivo in Arquivos)
                {
                    strucArquivo objArquivo = new strucArquivo();
                    objArquivo.Arquivo = sArquivo.ToString();
                    sNomearq           = sArquivo;
                    belImportaXmlNFe xmlEscritor = new belImportaXmlNFe(sNomearq);

                    try
                    {
                        belInfNFe objInfNFe = xmlEscritor.MontaInfNFe();
                        if (objInfNFe != null)
                        {
                            objArquivo.Nota         = objInfNFe.ide.Nnf;
                            objArquivo.Emitente     = objInfNFe.emit.Xnome;
                            objArquivo.Destinatario = objInfNFe.dest.Xnome;
                            objArquivo.Emissao      = objInfNFe.ide.Demi;
                            objArquivo.NFE          = objInfNFe.id;

                            objArquivos.Add(objArquivo);
                        }
                        else
                        {
                            strucXmlValidacao obj = new strucXmlValidacao();
                            obj.Xml    = sNomearq;
                            obj.Motivo = "Não foi encontrado a Tag 'protNFe'.  Xml não é válid0";
                            objLisXmlNaoValidado.Add(obj);
                        }
                    }
                    catch (Exception ex)
                    {
                        strucXmlValidacao obj = new strucXmlValidacao();
                        obj.Xml    = sNomearq;
                        obj.Motivo = ex.Message;
                        objLisXmlNaoValidado.Add(obj);
                    }
                }
            }
            catch (Exception ex)
            {
                //throw new Exception(string.Format("Não foi possivel ler o arquivo {0}, devido ao Erro.: {1}",
                //                                  sNomearq,
                //                                  ex.Message));
                strucXmlValidacao obj = new strucXmlValidacao();
                obj.Xml    = sNomearq;
                obj.Motivo = ex.Message;
                objLisXmlNaoValidado.Add(obj);
            }
            dgvXmlNaoValidado.DataSource = objLisXmlNaoValidado;
            if (objLisXmlNaoValidado.Count > 0)
            {
                lblXmlNaoValidado.Text = objLisXmlNaoValidado.Count.ToString() + " arquivo(s) não válido(s)";
            }
            else
            {
                lblXmlNaoValidado.Text = "";
            }

            return(objArquivos);
        }