private void btnAtualizar_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("VOCÊ ESTÁ 100% CERTO DISTO?\n\nNÃO PROSSIGA SE VOCÊ NÃO TEM TOTAL CERTEZA DO QUE ESTÁ FAZENDO!" + "\n\n" + "O MAU USO DESTA APLICAÇÃO PODE DANIFICAR OS DADOS DA SUA BASE DE DADOS PARA SEMPRE!\n\n" + "APÓS CLICAR EM 'SIM' O O PROCESSO É IRREVERSIVEL!", "Atualizador de Data e Hora da Emissao Pelo XML do NF-e", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (dialogResult == DialogResult.Yes) { this.Enabled = false; List <XML> lista = repositorioXML.Get(); if (lista.Count > 0) { frmProgresso frmProgresso = new frmProgresso(); frmProgresso.valorMaximo = lista.Count; frmProgresso.valorAtual = 0; frmProgresso.Mostrar(this); int contador = 0; foreach (var l in lista) { Application.DoEvents(); XMLDAO.Atualizar(lsbTabela.Text, lsbColunasDataEHora.Text, lsbColunasChaveAcesso.Text, l.chaveNFe, l.dataEmissao, l.horaEmissao); Application.DoEvents(); System.Threading.Thread.Sleep(Convert.ToInt32(txtTempoEmMS.Text)); frmProgresso.valorAtual = contador++; } } MessageBox.Show("A atualização foi concluída!", "Atualizador", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } }
private void btnCarregarArquivos_Click(object sender, EventArgs e) { btnCarregarArquivos.Enabled = false; DirectoryInfo DiretorioFonte = new DirectoryInfo(caminho); FileInfo[] Arquivos = DiretorioFonte.GetFiles("*.xml"); frmProgresso frmProgresso = new frmProgresso(); frmProgresso.valorMaximo = Arquivos.Length; frmProgresso.valorAtual = 0; frmProgresso.Mostrar(this); foreach (FileInfo Arquivo in Arquivos) { frmProgresso.valorAtual++; Application.DoEvents(); string caminhoArqXML = string.Concat(caminho, @"\", Arquivo); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(caminhoArqXML); //Carregando o arquivo //Valida se o XML é do tipo NF-e XmlNodeList axml = xmlDoc.GetElementsByTagName("infNFe"); if (axml.Count > 0) { //Pegando elemento pelo nome da TAG XmlNodeList xnList = xmlDoc.GetElementsByTagName("ide"); foreach (XmlNode xn in xnList) { try { //Versão da NF-e 3.0 XML dadosDoXML = new XML(); dadosDoXML.versaoNFe = axml.Item(0).Attributes.Item(1).Value; Char delimiter = 'T'; String[] substring = xn["dhEmi"].InnerText.Split(delimiter); dadosDoXML.chaveNFe = axml.Item(0).Attributes.Item(0).Value.Remove(0, 3); dadosDoXML.numeroNFe = xn["nNF"].InnerText; dadosDoXML.dataEmissao = substring[0]; dadosDoXML.horaEmissao = substring[1]; repositorioXML.Insert(dadosDoXML); } catch { //Tratamento de Versão da NF-e versão 2.0 try { XML dadosDoXML = new XML(); dadosDoXML.versaoNFe = axml.Item(0).Attributes.Item(1).Value; dadosDoXML.chaveNFe = axml.Item(0).Attributes.Item(0).Value.Remove(0, 3); dadosDoXML.numeroNFe = xn["nNF"].InnerText; dadosDoXML.dataEmissao = xn["dSaiEnt"].InnerText; dadosDoXML.horaEmissao = xn["hSaiEnt"].InnerText; repositorioXML.Insert(dadosDoXML); } catch { } } } } } frmProgresso.Close(); lblTotalXMLCarregados.Text = Convert.ToString(repositorioXML.Get().Count); lblTotalXMLCarregados.ForeColor = Color.Blue; gbProcesso2.Enabled = true; }