private void iniciarServicosUniNFe() { Propriedade.TipoAplicativo = TipoAplicativo.Nfe; ConfiguracaoApp.StartVersoes(); string filenameWS1 = Propriedade.NomeArqXMLMunicipios; string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe; string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe; string msg = ""; bool error = false; error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3); msg = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados"; if (error) { this.WriteLog(msg); } else { foreach (Empresa empresa in Empresas.Configuracoes) { if (empresa.X509Certificado == null && empresa.UsaCertificado) { msg = "Não pode ler o certificado da empresa: " + empresa.CNPJ + "=>" + empresa.Nome + "=>" + empresa.Servico.ToString(); string f = Path.Combine(empresa.PastaXmlRetorno, "uninfeServico_" + DateTime.Now.ToString("yyyy-MMM-dd_hh-mm-ss") + ".txt"); System.IO.File.WriteAllText(f, msg, Encoding.UTF8); error = true; WriteLog(msg); } } } if (!error) { // Executar as conversões de atualizações de versão quando tiver Auxiliar.ConversaoNovaVersao(string.Empty); ThreadService.Start(); new ThreadControlEvents(); } else { WriteLog("Servico do UniNFe não está sendo executado "); } }
private void Form1_Load(object sender, EventArgs e) { bool error = false; try { // //SERVICO: danasa 7/2011 //servico está instalado e rodando? this.servicoInstaladoErodando = Propriedade.ServicoRodando; this.tbSeparator1.Visible = this.tbRestartServico.Visible = this.tbPararServico.Visible = this.servicoInstaladoErodando; /// /// danasa 9-2009 /// this.MinimumSize = new Size(800, 630); this.MaximumSize = new Size(800, 630); //Trazer minimizado e no systray this.notifyIcon1.Text = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao; this.notifyIcon1.Visible = true; this.WindowState = FormWindowState.Minimized; this.Visible = false; this.ShowInTaskbar = false; ConfiguracaoApp.StartVersoes(); _menu = new menu(); Controls.Add(_menu); _menu.Dock = DockStyle.Fill; notifyIcon1.Icon = Icon = Properties.Resources.uninfe_icon; cmAbrir.Text = "Abrir " + Propriedade.NomeAplicacao; cmFechar.Text = "Fechar " + Propriedade.NomeAplicacao; cmSobre.Text = "Sobre o " + Propriedade.NomeAplicacao; cmManual.Text = "Manual do " + Propriedade.NomeAplicacao; cmManual.Enabled = File.Exists(Path.Combine(Propriedade.PastaExecutavel, Propriedade.NomeAplicacao + ".pdf")); string msg = ""; Propriedade.VerificaArquivos(out error, out msg); if (error) { MetroFramework.MetroMessageBox.Show(this, msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); return; } if (!this.servicoInstaladoErodando) //danasa 12/8/2011 //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011 { new ThreadControlEvents(); //danasa 12/8/2011 } //Executar os serviços do UniNFe em novas threads //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010 this.ExecutaServicos(); } finally { if (!error) { this.updateControleDoServico(); } } }
private void Form1_Load(object sender, EventArgs e) { bool error = false; try { // //SERVICO: danasa 7/2011 //servico está instalado e rodando? this.servicoInstaladoErodando = Propriedade.ServicoRodando; this.tbSeparator1.Visible = this.tbRestartServico.Visible = this.tbPararServico.Visible = this.servicoInstaladoErodando; /// /// danasa 9-2009 /// this.MinimumSize = new Size(800, 600); this.MaximumSize = new Size(800, 600); //Trazer minimizado e no systray this.notifyIcon1.BalloonTipText = string.Format("Para abrir novamente o {0}, de um duplo clique ou pressione o botão direito do mouse sobre o ícone.", NFe.Components.Propriedade.NomeAplicacao); this.notifyIcon1.BalloonTipTitle = this.notifyIcon1.Text = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao; this.notifyIcon1.Visible = true; this.WindowState = FormWindowState.Minimized; this.Visible = false; this.ShowInTaskbar = false; this.notifyIcon1.ShowBalloonTip(6000); try { //this.uTheme = NFe.Components.EnumHelper.StringToEnum<MetroFramework.MetroThemeStyle>(uninfeDummy.xmlParams.ReadValue(this.Name, "Theme", this.metroStyleManager1.Theme.ToString())); //this.uStyle = NFe.Components.EnumHelper.StringToEnum<MetroFramework.MetroColorStyle>(uninfeDummy.xmlParams.ReadValue(this.Name, "Style", this.metroStyleManager1.Style.ToString())); } catch { } ConfiguracaoApp.StartVersoes(); _menu = new menu(); this.Controls.Add(_menu); _menu.Dock = DockStyle.Fill; switch (NFe.Components.Propriedade.TipoAplicativo) { default: this.notifyIcon1.Icon = this.Icon = NFe.UI.Properties.Resources.uninfe_icon; break; case NFe.Components.TipoAplicativo.Nfse: this.notifyIcon1.Icon = this.Icon = NFe.UI.Properties.Resources.uninfse_icon; break; } this.cmAbrir.Text = "Abrir " + NFe.Components.Propriedade.NomeAplicacao; this.cmFechar.Text = "Fechar " + NFe.Components.Propriedade.NomeAplicacao; this.cmSobre.Text = "Sobre o " + NFe.Components.Propriedade.NomeAplicacao; this.cmManual.Text = "Manual do " + NFe.Components.Propriedade.NomeAplicacao; this.cmManual.Enabled = File.Exists(Path.Combine(NFe.Components.Propriedade.PastaExecutavel, NFe.Components.Propriedade.NomeAplicacao + ".pdf")); string filenameWS1 = Propriedade.NomeArqXMLMunicipios; string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe; string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe; string msg = ""; error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3); msg = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados"; if (error) { MetroFramework.MetroMessageBox.Show(this, msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); return; } if (!this.servicoInstaladoErodando) //danasa 12/8/2011 //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011 { new ThreadControlEvents(); //danasa 12/8/2011 } //Executar os serviços do UniNFe em novas threads //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010 this.ExecutaServicos(); } finally { if (!error) { this.updateControleDoServico(); } } #if DEBUG #if verifica_wsdl Console.WriteLine("----------------------"); NFe.Components.Servicos servico = NFe.Components.Servicos.Nulo; NFe.Components.PadroesNFSe padrao = PadroesNFSe.NaoIdentificado; Console.WriteLine(NFe.Components.Propriedade.NomeArqXMLWebService); if (Propriedade.TipoAplicativo == TipoAplicativo.Nfse) { XElement axml = XElement.Load(NFe.Components.Propriedade.NomeArqXMLWebService); var s = (from p in axml.Descendants(NFe.Components.NFeStrConstants.Estado) where (string)p.Attribute(NFe.Components.NFeStrConstants.UF) != "XX" select p); foreach (var item in s) { NFe.Components.TipoAmbiente taHomologacao = TipoAmbiente.taProducao; var x = XElement.Parse(item.Element(NFe.Components.NFeStrConstants.LocalProducao).ToString()).Elements(); foreach (var xa in x) { if (!string.IsNullOrEmpty(xa.Value)) { padrao = NFe.Components.EnumHelper.StringToEnum <NFe.Components.PadroesNFSe>(item.Attribute("Padrao").Value); if (padrao == PadroesNFSe.SYSTEMPRO || padrao == PadroesNFSe.IPM || padrao == PadroesNFSe.BETHA) { continue; } switch (xa.Name.ToString()) { case "RecepcionarLoteRps": servico = NFe.Components.Servicos.RecepcionarLoteRps; break; case "ConsultarSituacaoLoteRps": servico = NFe.Components.Servicos.ConsultarSituacaoLoteRps; break; case "ConsultarNfsePorRps": servico = NFe.Components.Servicos.ConsultarNfsePorRps; break; case "ConsultarNfse": servico = NFe.Components.Servicos.ConsultarNfse; break; case "ConsultarLoteRps": servico = NFe.Components.Servicos.ConsultarLoteRps; break; case "CancelarNfse": servico = NFe.Components.Servicos.CancelarNfse; break; case "ConsultarURLNfseSerie": servico = Servicos.ConsultarURLNfseSerie; break; case "ConsultarURLNfse": servico = Servicos.ConsultarURLNfse; break; default: Console.WriteLine("====>(" + xa.Name.ToString() + ")"); break; } if (servico == Servicos.Nulo) { Console.WriteLine("==========================================" + " => " + item.Attribute("ID").Value + "=>" + item.Attribute("Padrao").Value + "=>" + xa.Name + "=>" + xa.Value); } else { try { NFe.UI.aaaa xxx = new NFe.UI.aaaa(); var nome = xxx.nome(servico, Convert.ToInt32(item.Attribute("ID").Value), ""); var proxy = ConfiguracaoApp.DefinirWS(servico, 0, Convert.ToInt32(item.Attribute("ID").Value), (int)taHomologacao, (int)NFe.Components.TipoEmissao.teNormal, padrao, string.Empty); if (nome != proxy.NomeClasseWS) { Console.WriteLine("srv:" + servico.ToString() + "\r\nPadrao:" + item.Attribute("Padrao").Value + "\r\nMunic:" + item.Attribute("ID").Value + "\r\nC#:" + nome + " X wsdl:" + proxy.NomeClasseWS + " Tag:" + xa.Name + "\r\n" + proxy.ArquivoWSDL + "\r\n----"); } } catch (Exception ex) { Console.WriteLine("====\r\n" + xa.Value + "\r\n" + ex.Message); } //Console.WriteLine(NomeClasseWSNFSe(servico, padrao) + "==>" + proxy.NomeClasseWS); } } } } } else { XElement axml = XElement.Load(NFe.Components.Propriedade.NomeArqXMLWebService); var s = (from p in axml.Descendants(NFe.Components.NFeStrConstants.Estado) where (string)p.Attribute(NFe.Components.NFeStrConstants.UF) != "XX" select p); foreach (var item in s) { //Console.WriteLine(item.Element(NFe.Components.NFeStrConstants.LocalHomologacao).ToString()); var x = XElement.Parse(item.Element(NFe.Components.NFeStrConstants.LocalHomologacao).ToString()).Elements(); foreach (var xa in x) { if (!string.IsNullOrEmpty(xa.Value)) { //Console.WriteLine(xa.Name + " => " + xa.Value); servico = Servicos.Nulo; string versao = "3.10"; switch (xa.Name.ToString()) { case "CTeRecepcaoEvento": servico = Servicos.RecepcaoEventoCTe; versao = NFe.ConvertTxt.versoes.VersaoXMLCTeEvento; break; case "CTeRecepcao": servico = Servicos.EnviarLoteCTe; versao = NFe.ConvertTxt.versoes.VersaoXMLCTe; break; case "CTeRetRecepcao": servico = Servicos.PedidoSituacaoLoteCTe; break; case "CTeInutilizacao": servico = Servicos.InutilizarNumerosCTe; versao = NFe.ConvertTxt.versoes.VersaoXMLCTeInut; break; case "CTeConsulta": servico = Servicos.PedidoConsultaSituacaoCTe; break; case "CTeStatusServico": servico = Servicos.ConsultaStatusServicoCTe; versao = NFe.ConvertTxt.versoes.VersaoXMLCTeStatusServico; break; case "CTeConsultaCadastro": break; case "NFeRecepcao": servico = Servicos.EnviarLoteNfe; break; case "NFeRetRecepcao": servico = Servicos.PedidoSituacaoLoteNFe; break; case "NFeInutilizacao": versao = NFe.ConvertTxt.versoes.VersaoXMLInut; servico = Servicos.InutilizarNumerosNFe; break; case "NFeConsulta": servico = Servicos.PedidoConsultaSituacaoNFe; break; case "NFeStatusServico": servico = Servicos.ConsultaStatusServicoNFe; versao = NFe.ConvertTxt.versoes.VersaoXMLStatusServico; break; case "NFeConsultaCadastro": servico = Servicos.ConsultaCadastroContribuinte; versao = NFe.ConvertTxt.versoes.VersaoXMLConsCad; break; case "NFeRecepcaoEvento": servico = Servicos.RecepcaoEvento; versao = NFe.ConvertTxt.versoes.VersaoXMLEvento; break; case "NFeConsultaNFeDest": versao = NFe.ConvertTxt.versoes.VersaoXMLEnvConsultaNFeDest; servico = Servicos.ConsultaNFDest; break; case "NFeDownload": servico = Servicos.DownloadNFe; break; case "NFeManifDest": servico = Servicos.EnviarManifDest; versao = NFe.ConvertTxt.versoes.VersaoXMLEvento; break; case "NFeAutorizacao": servico = Servicos.EnviarLoteNfeZip2; break; case "NFeRetAutorizacao": servico = Servicos.PedidoSituacaoLoteNFe2; break; case "MDFeRecepcao": servico = Servicos.EnviarLoteMDFe; versao = NFe.ConvertTxt.versoes.VersaoXMLMDFe; break; case "MDFeRetRecepcao": servico = Servicos.PedidoSituacaoLoteMDFe; versao = NFe.ConvertTxt.versoes.VersaoXMLMDFe; break; case "MDFeConsulta": servico = Servicos.PedidoConsultaSituacaoMDFe; versao = NFe.ConvertTxt.versoes.VersaoXMLMDFe; break; case "MDFeStatusServico": servico = Servicos.ConsultaStatusServicoMDFe; versao = NFe.ConvertTxt.versoes.VersaoXMLMDFeStatusServico; break; case "MDFeRecepcaoEvento": servico = Servicos.RecepcaoEventoMDFe; versao = NFe.ConvertTxt.versoes.VersaoXMLMDFeEvento; break; default: servico = Servicos.Nulo; Console.WriteLine("====>(" + xa.Name.ToString() + ")"); break; } if (servico == Servicos.Nulo) { continue; } try { if (xa.Value.Contains("\\DPEC\\")) { if (xa.Value.Contains("DEPCSCEConsultaRFB")) { servico = Servicos.ConsultarDPEC; } else { servico = Servicos.EnviarDPEC; } } NFe.UI.aaaa xxx = new NFe.UI.aaaa(); var nome = xxx.nome(servico, Convert.ToInt16(item.Attribute("ID").Value), versao); foreach (NFe.Components.TipoEmissao temissao in Enum.GetValues(typeof(NFe.Components.TipoEmissao))) { if (temissao == NFe.Components.TipoEmissao.teNone) { continue; } if (temissao != NFe.Components.TipoEmissao.teNormal && xa.Value.Contains("\\DPEC\\")) { break; } if (temissao == TipoEmissao.teDPEC && !xa.Value.Contains("\\DPEC\\")) { continue; } var proxy = NFe.Settings.ConfiguracaoApp.DefinirWS(servico, 0, Convert.ToInt16(item.Attribute("ID").Value), (int)NFe.Components.TipoAmbiente.taHomologacao, (int)temissao, versao); if (!nome.Equals(proxy.NomeClasseWS)) { Console.WriteLine(versao + ": srv:" + servico.ToString() + "\r\ntpEmis:" + temissao.ToString() + "\r\nC#:" + nome + " X wsdl:" + proxy.NomeClasseWS + " Tag:" + xa.Name + "\r\n" + proxy.ArquivoWSDL + "\r\n----"); } if (xa.Name.ToString().StartsWith("NFe") && versao.Equals("3.10")) { versao = "2.00"; var aproxy = NFe.Settings.ConfiguracaoApp.DefinirWS(servico, 0, Convert.ToInt16(item.Attribute("ID").Value), (int)NFe.Components.TipoAmbiente.taHomologacao, (int)temissao, versao); NFe.UI.aaaa axxx = new NFe.UI.aaaa(); var anome = axxx.nome(servico, Convert.ToInt16(item.Attribute("ID").Value), versao); if (!anome.Equals(aproxy.NomeClasseWS)) { Console.WriteLine(versao + ": srv:" + servico.ToString() + "\r\ntpEmis:" + temissao.ToString() + "\r\nC#:" + anome + " X wsdl:" + aproxy.NomeClasseWS + " Tag:" + xa.Name + "\r\n" + aproxy.ArquivoWSDL + "\r\n----"); } } } } catch (Exception ex) { //Console.WriteLine("====\r\n" + xa.Value + "\r\n" + ex.Message); } } } } } Console.WriteLine("----------------------"); #endif #endif }
private void Form1_Load(object sender, EventArgs e) { // //SERVICO: danasa 7/2011 //servico está instalado e rodando? this.servicoInstaladoErodando = Propriedade.ServicoRodando; this.tbSeparator1.Visible = this.tbRestartServico.Visible = this.tbPararServico.Visible = this.servicoInstaladoErodando; this.updateControleDoServico(); /// /// danasa 9-2009 /// this.MinimumSize = new Size(800, 600); //Trazer minimizado e no systray this.notifyIcon1.Visible = true; this.WindowState = FormWindowState.Minimized; this.Visible = false; this.ShowInTaskbar = false; this.notifyIcon1.ShowBalloonTip(6000); //Propriedade.TipoAplicativo = TipoAplicativo.Nfe; //ConfiguracaoApp.AtualizaWSDL = !System.IO.File.Exists(Propriedade.NomeArqXMLWebService); //danasa: 12/2013 ConfiguracaoApp.StartVersoes(); if (!this.servicoInstaladoErodando) //danasa 12/8/2011 //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011 { new ThreadControlEvents(); //danasa 12/8/2011 } //Executar os serviços do UniNFe em novas threads //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010 this.ExecutaServicos(); NFe.Components.XMLIniFile xml = new NFe.Components.XMLIniFile(NFe.Components.Propriedade.NomeArqXMLParams); this.metroStyleManager1.Theme = xml.ReadValue(this.Name, "Theme", this.metroStyleManager1.Theme); this.metroStyleManager1.Style = xml.ReadValue(this.Name, "Style", this.metroStyleManager1.Style); switch (NFe.Components.Propriedade.TipoAplicativo) { case NFe.Components.TipoAplicativo.Nfe: this.notifyIcon1.Icon = this.Icon = Properties.Resources.uninfe1; break; case NFe.Components.TipoAplicativo.Nfse: this.notifyIcon1.Icon = this.Icon = Properties.Resources.uninfse; break; } this.notifyIcon1.BalloonTipText = string.Format(this.notifyIcon1.BalloonTipText, NFe.Components.Propriedade.NomeAplicacao); this.notifyIcon1.BalloonTipTitle = this.notifyIcon1.Text = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao; EnableControlsCM(); this.cmConsultaCadastro.Visible = this.cmDANFE.Visible = NFe.Components.Propriedade.TipoAplicativo == TipoAplicativo.Nfe; this.cmAbrir.Text = "Abrir " + NFe.Components.Propriedade.NomeAplicacao; this.cmFechar.Text = "Fechar " + NFe.Components.Propriedade.NomeAplicacao; this.cmSobre.Text = "Sobre o " + NFe.Components.Propriedade.NomeAplicacao; this.cmManual.Text = "Manual do " + NFe.Components.Propriedade.NomeAplicacao; _menu = new menu(); this.Controls.Add(_menu); _menu.Dock = DockStyle.Fill; /* * foreach (var item in MetroStyleManager.Styles.Themes) * { * Console.WriteLine(item.Key.ToString()); * }*/ }
public MainForm() { InitializeComponent(); try { // Executar as conversões de atualizações de versão quando tiver string nomeEmpresa = Auxiliar.ConversaoNovaVersao(string.Empty); if (!string.IsNullOrEmpty(nomeEmpresa)) { /// danasa 20-9-2010 /// exibe a mensagem de erro MessageBox.Show("Não foi possível localizar o CNPJ da empresa no certificado configurado", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); /// e pede o CNPJ FormCNPJ fcnpj = new FormCNPJ(nomeEmpresa); if (fcnpj.ShowDialog() == System.Windows.Forms.DialogResult.OK) { /// tenta processar já com o CNPJ definido Auxiliar.ConversaoNovaVersao(fcnpj.Cnpj); restartServico = true; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } // //SERVICO: danasa 7/2011 //servico está instalado e rodando? this.servicoInstaladoErodando = Propriedade.ServicoRodando; this.tbSeparator1.Visible = this.tbRestartServico.Visible = this.tbPararServico.Visible = this.servicoInstaladoErodando; this.updateControleDoServico(); /// /// danasa 9-2009 /// try { XMLIniFile iniFile = new XMLIniFile(Propriedade.NomeArqXMLParams); iniFile.LoadForm(this, "", true); } catch { } // para evitar que para alguns que derrubam o uninfe quando atualizam //Trazer minimizado e no systray notifyIcon1.Visible = true; this.WindowState = FormWindowState.Minimized; this.ShowInTaskbar = false; notifyIcon1.ShowBalloonTip(6000); this.MinimumSize = new Size(750, 600); #region Definir valores propriedades de configuração Propriedade.TipoAplicativo = TipoAplicativo.Nfe; //ConfiguracaoApp.AtualizaWSDL = !System.IO.File.Exists(Propriedade.NomeArqXMLWebService); //danasa: 12/2013 ConfiguracaoApp.StartVersoes(); #endregion string filenameWS1 = Propriedade.NomeArqXMLMunicipios; string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe; string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe; string msg = ""; bool error = false; error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3); msg = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados"; if (error) { MessageBox.Show(msg); Application.Exit(); return; } if (!this.servicoInstaladoErodando) //danasa 12/8/2011 //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011 { new ThreadControlEvents(); //danasa 12/8/2011 } }