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; }
private void btnImporta_Click(object sender, EventArgs e) { string sArquivoXML = string.Empty; try { if (txtXml.Text == "") { throw new Exception("Pasta dos Arquivos Xml não foi selecionada"); } if (cbxEmpresas.SelectedValue.ToString() == "") { throw new Exception("Empresa para Importação não foi selecionada"); } List<string> lsXmls = new List<string>(); for (int i = 0; i < dgvXmls.RowCount; i++) { if (((dgvXmls["Selecionar", i].Value != null) && (dgvXmls["Selecionar", i].Value.ToString().Equals("True")))) { lsXmls.Add((string)dgvXmls["Arquivo", i].Value); } } if (lsXmls.Count > 0) { pgbNF.Step = 1; pgbNF.Minimum = 0; pgbNF.Maximum = lsXmls.Count; pgbNF.MarqueeAnimationSpeed = lsXmls.Count; pgbNF.Value = 0; for (int i = 0; i < lsXmls.Count; i++) { try { lblStatusScrituracao.Text = "Escriturando " + (i + 1).ToString() + " de " + lsXmls.Count.ToString(); pgbNF.PerformStep(); statusStrip1.Refresh(); this.Refresh(); sArquivoXML = lsXmls[i]; belImportaXmlNFe xmlEscritor = new belImportaXmlNFe(lsXmls[i]); belInfNFe objInfNFe = xmlEscritor.MontaInfNFe(); objInfNFe.Empresa = cbxEmpresas.SelectedValue.ToString(); belEscrituracao objEscrituracao = new belEscrituracao(objInfNFe); } catch (Exception ex) { new HLPexception(ex); } } KryptonMessageBox.Show(null, string.Format("Importação efetuada com Sucesso!"), "Importação de XML", MessageBoxButtons.OK, MessageBoxIcon.Information); pgbNF.Value = 0; //toolStripButton2_Click(sender, e); lblarquivosEscriturados.Text = "Escriturado " + lsXmls.Count.ToString() + " registro(s) de " + lsXmls.Count.ToString(); } else { KryptonMessageBox.Show(null, string.Format("Nenhum Xml Foi selecionado!"), "Importação de XML", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { if (!String.IsNullOrEmpty(sArquivoXML)) { KryptonMessageBox.Show(null, string.Format("Não foi possível importar o Xml. Erro {0}, Lendo o Arquivo {1}", ex.Message, sArquivoXML), Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { new HLPexception(ex); } } }