コード例 #1
0
        private void MainForm_Resize(object sender, EventArgs e)
        {
            ///
            /// danasa 9-2009
            ///
            if (this.WindowState != FormWindowState.Minimized)
            {
                XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());
                iniFile.SaveForm(this, "");
                iniFile.Save();
            }
            //Faz a aplicação sumir da barra de tarefas
            //danasa
            //  Se usuario mudar o tamanho da janela, não pode desaparece-la da tasknar
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.ShowInTaskbar = false;
            }

            //Mostrar o balão com as informações que selecionamos
            //O parâmetro passado refere-se ao tempo (ms)
            // em que ficará aparecendo. Coloque "0" se quiser
            // que ele feche somente quando o usuário clicar

            if (this.WindowState == FormWindowState.Minimized)
            {
                notifyIcon1.ShowBalloonTip(6000);
            }
            //Ativar o ícone na área de notificação
            //para isso a propriedade Visible deveria ser setada
            //como false, mas prefiro deixar o ícone lá.
            //notifyIcon1.Visible = true;
        }
コード例 #2
0
        static void Main()
        {
            //Esta deve ser a primeira linha do Main, não coloque nada antes dela. Wandrey 31/07/2009
            InfoApp.oAssemblyEXE = Assembly.GetExecutingAssembly();

            System.Threading.Mutex oneMutex = null;

            if (InfoApp.AppExecutando(ref oneMutex))
            {
                return;
            }

            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new MainForm());
            }
            finally
            {
                if (oneMutex != null)
                {
                    oneMutex.Close();
                }
            }
        }
コード例 #3
0
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     //
     // TODO: Aqui, deveriamos verificar se ainda existe alguma Thread pendente antes de fechar
     //
     if (e.CloseReason == CloseReason.UserClosing && !Auxiliar.EncerrarApp)
     {
         ///
         /// danasa 9-2009
         ///
         if (this.WindowState != FormWindowState.Minimized)
         {
             XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());
             iniFile.SaveForm(this, "");
             iniFile.Save();
         }
         // se o botão de fechar for pressionado pelo usuário, o mainform não será fechado em sim minimizado.
         e.Cancel     = true;
         this.Visible = false;
         this.OnResize(e);
         notifyIcon1.ShowBalloonTip(6000);
     }
     else
     {
         e.Cancel = false;  //se o PC for desligado o windows o fecha automaticamente.
     }
 }
コード例 #4
0
        private void FormConsultaCadastro_FormClosed(object sender, FormClosedEventArgs e)
        {
            XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());

            iniFile.SaveForm(this, (this.MdiParent == null ? "\\Normal" : "\\MDI"));
            iniFile.Save();
        }
コード例 #5
0
        private void toolStripBtnUpdate_Click(object sender, EventArgs e)
        {
            FormUpdate FormUp = new FormUpdate("i" + InfoApp.NomeAplicacao().ToLower() + ".exe");

            FormUp.MdiParent   = this;
            FormUp.MinimizeBox = false;
            FormUp.Show();
        }
コード例 #6
0
        private void FormConsultaCadastro_Load(object sender, EventArgs e)
        {
            PreencheEstados();
            PopulateCbEmpresa();
            XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());

            iniFile.LoadForm(this, (this.MdiParent == null ? "\\Normal" : "\\MDI"));
        }
コード例 #7
0
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            InfoApp infoApp = await db.InfoApps.FindAsync(id);

            db.InfoApps.Remove(infoApp);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
コード例 #8
0
        private void Configuracao_Load(object sender, EventArgs e)
        {
            ///
            /// danasa 9-2009
            ///
            XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());

            iniFile.LoadForm(this, (this.MdiParent == null ? "\\Normal" : "\\MDI"));
        }
コード例 #9
0
        public async Task <ActionResult> Edit([Bind(Include = "AppId,AppInfoId,Value")] InfoApp infoApp)
        {
            if (ModelState.IsValid)
            {
                db.Entry(infoApp).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.AppId     = new SelectList(db.Apps, "Id", "Name", infoApp.AppId);
            ViewBag.AppInfoId = new SelectList(db.AppInfoes, "Id", "Name", infoApp.AppInfoId);
            return(View(infoApp));
        }
コード例 #10
0
        // GET: Admin/InfoApps/Details/5
        public async Task <ActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InfoApp infoApp = await db.InfoApps.FindAsync(id);

            if (infoApp == null)
            {
                return(HttpNotFound());
            }
            return(View(infoApp));
        }
コード例 #11
0
        public async Task <ActionResult> Create([Bind(Include = "AppId,AppInfoId,Value")] InfoApp infoApp)
        {
            if (ModelState.IsValid)
            {
                infoApp.AppId = Guid.NewGuid();
                db.InfoApps.Add(infoApp);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.AppId     = new SelectList(db.Apps, "Id", "Name", infoApp.AppId);
            ViewBag.AppInfoId = new SelectList(db.AppInfoes, "Id", "Name", infoApp.AppInfoId);
            return(View(infoApp));
        }
コード例 #12
0
        public FormSobre()
        {
            InitializeComponent();

            this.textBox_versao.Text = InfoApp.Versao();

            //Atualizar o texto da licença de uso
            this.textBox_licenca.Text  = "GNU General Public License\r\n\r\n";
            this.textBox_licenca.Text += "UniNFe – Monitor de Notas Fiscais Eletrônicas\r\n";
            this.textBox_licenca.Text += "Copyright (C) 2008 Unimake Soluções Corporativas LTDA\r\n\r\n";
            this.textBox_licenca.Text += "Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU, conforme publicada pela Free Software Foundation; tanto a versão 2 da Licença como (a seu critério) qualquer versão mais nova.\r\n\r\n";
            this.textBox_licenca.Text += "Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais detalhes.\r\n\r\n";
            this.textBox_licenca.Text += "Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307, USA ou consulte a licença oficial em http://www.gnu.org/licenses/.";

            textBox_DataUltimaModificacao.Text = File.GetLastWriteTimeUtc("uninfe.exe").ToString("dd/MM/yyyy - hh:mm:ss");
        }
コード例 #13
0
        // GET: Admin/InfoApps/Edit/5
        public async Task <ActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InfoApp infoApp = await db.InfoApps.FindAsync(id);

            if (infoApp == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AppId     = new SelectList(db.Apps, "Id", "Name", infoApp.AppId);
            ViewBag.AppInfoId = new SelectList(db.AppInfoes, "Id", "Name", infoApp.AppInfoId);
            return(View(infoApp));
        }
コード例 #14
0
 private void toolStripMenuItem2_Click(object sender, EventArgs e)
 {
     try
     {
         if (File.Exists(Application.StartupPath + "\\" + InfoApp.NomeAplicacao() + ".pdf"))
         {
             System.Diagnostics.Process.Start(Application.StartupPath + InfoApp.NomeAplicacao() + ".pdf");
         }
         else
         {
             MessageBox.Show("Não foi possível localizar o arquivo de manual do sistema.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #15
0
        private void Configuracao_FormClosed(object sender, FormClosedEventArgs e)
        {
            ///
            /// danasa 9-2009
            ///
            XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());

            iniFile.SaveForm(this, (this.MdiParent == null ? "\\Normal" : "\\MDI"));
            iniFile.Save();
            ///
            /// danasa 9-2010
            ///
            if (OnMyClose != null)
            {
                if (this.Salvos)    //danasa 20-9-2010
                {
                    OnMyClose(sender, null);
                }
            }
        }
コード例 #16
0
        /// <summary>
        /// Popular campos das configurações por empresa
        /// </summary>
        /// <remarks>
        /// Autor: Wandrey Mundin Ferreira
        /// Data: 29/07/2010
        /// </remarks>
        private void PopulateConfEmpresa()
        {
            #region Definir um texto explicativo sobre a impressão do DANFE. Wandrey 02/02/2010
            tbTextoDANFE.Text = "Você pode automatizar o processo de geração/impressão do DANFE através do UniDANFe ou do DANFeMon, bastando preencher os campos abaixo." +
                                "\r\n\r\n" +
                                "As configurações adicionais devem ser definidas no UniDANFe ou no arquivo XML auxiliar. Para maiores detalhes, consulte a documentação do UniDANFe.";
            #endregion

            #region Montar Array DropList da UF
            ArrayList arrUF = new ArrayList();

            try
            {
                arrUF = Auxiliar.CarregaUF();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            comboBox_UF.DataSource    = arrUF;
            comboBox_UF.DisplayMember = "Nome";
            comboBox_UF.ValueMember   = "Codigo";
            #endregion

            #region Montar Array DropList do Ambiente
            //
            // danasa 8-2009
            // atribuido "TipoEmbiente"
            //
            ArrayList arrAmb = new ArrayList();
            arrAmb.Add(new ComboElem("Produção", TipoAmbiente.taProducao));
            arrAmb.Add(new ComboElem("Homologação", TipoAmbiente.taHomologacao));

            comboBox_Ambiente.DataSource    = arrAmb;
            comboBox_Ambiente.DisplayMember = "valor";
            comboBox_Ambiente.ValueMember   = "codigo";
            #endregion

            #region Montar Array DropList do Tipo de Emissão da NF-e
            ArrayList arrTpEmis = new ArrayList();
            ArrayList.Synchronized(arrTpEmis);
            //
            // danasa 8-2009
            // danasa 9-2009
            // atribuido "TipoEmissao.
            //
            arrTpEmis.Add(new ComboElem(UniNFeConsts.tpEmissao[TipoEmissao.teNormal], TipoEmissao.teNormal));
            arrTpEmis.Add(new ComboElem(UniNFeConsts.tpEmissao[TipoEmissao.teContingencia], TipoEmissao.teContingencia));
            arrTpEmis.Add(new ComboElem(UniNFeConsts.tpEmissao[TipoEmissao.teSCAN], TipoEmissao.teSCAN));
            arrTpEmis.Add(new ComboElem(UniNFeConsts.tpEmissao[TipoEmissao.teDPEC], TipoEmissao.teDPEC));
            arrTpEmis.Add(new ComboElem(UniNFeConsts.tpEmissao[TipoEmissao.teFSDA], TipoEmissao.teFSDA));

            comboBox_tpEmis.DataSource    = arrTpEmis;
            comboBox_tpEmis.DisplayMember = "Valor";
            comboBox_tpEmis.ValueMember   = "Codigo";
            #endregion

            #region Carregar as configurações da empresa selecionada
            if (Empresa.Configuracoes.Count > 0)
            {
                Empresa oEmpresa = Empresa.FindConfEmpresa(cbEmpresa.SelectedValue.ToString().Trim());

                ///
                /// danasa 20-9-2010
                /// tirado daqui pois se entrado + de 1 vez na configuracao da empresa, a propriedade CriaPastasAutomaticamente será definida como false
                /// já que na segunda vez os nomes das pastas já estão atribuidas
                //oEmpresa.CriaPastasAutomaticamente = false;

                if (string.IsNullOrEmpty(oEmpresa.PastaEnvio))
                {
                    ///
                    /// tenta achar uma configuracao valida
                    ///
                    foreach (Empresa empresa in Empresa.Configuracoes)
                    {
                        if (empresa.CNPJ.Trim() != oEmpresa.CNPJ.Trim() && !string.IsNullOrEmpty(empresa.PastaEnvio))
                        {
                            oEmpresa.PastaEnvio       = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaEnvio, oEmpresa);
                            oEmpresa.PastaRetorno     = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaRetorno, oEmpresa);
                            oEmpresa.PastaEnviado     = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaEnviado, oEmpresa);
                            oEmpresa.PastaErro        = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaErro, oEmpresa);
                            oEmpresa.PastaEnvioEmLote = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaEnvioEmLote, oEmpresa);
                            oEmpresa.PastaValidar     = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaValidar, oEmpresa);
                            oEmpresa.PastaBackup      = CopiaPastaDeEmpresa(empresa.CNPJ, empresa.PastaBackup, oEmpresa);

                            oEmpresa.PastaConfigUniDanfe = empresa.PastaConfigUniDanfe;
                            oEmpresa.PastaExeUniDanfe    = empresa.PastaExeUniDanfe;
                            oEmpresa.PastaDanfeMon       = empresa.PastaDanfeMon;
                            oEmpresa.XMLDanfeMonNFe      = empresa.XMLDanfeMonNFe;
                            oEmpresa.XMLDanfeMonProcNFe  = empresa.XMLDanfeMonProcNFe;
                            oEmpresa.GravarRetornoTXTNFe = empresa.GravarRetornoTXTNFe;

                            oEmpresa.CriaPastasAutomaticamente = true;
                            break;
                        }
                    }
                    ///
                    /// se ainda assim nao foi encontrada nenhuma configuracao válida assume a pasta de instalacao do uninfe
                    ///
                    if (string.IsNullOrEmpty(oEmpresa.PastaEnvio))
                    {
                        oEmpresa.PastaEnvio       = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\Envio");
                        oEmpresa.PastaEnviado     = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\Enviado");
                        oEmpresa.PastaRetorno     = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\Retorno");
                        oEmpresa.PastaErro        = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\Erro");
                        oEmpresa.PastaEnvioEmLote = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\EnvioEmLote");
                        oEmpresa.PastaValidar     = Path.Combine(InfoApp.PastaExecutavel(), oEmpresa.CNPJ + "\\Validar");

                        oEmpresa.CriaPastasAutomaticamente = true;
                    }
                }

                textBox_PastaEnvioXML.Text   = oEmpresa.PastaEnvio;
                textBox_PastaRetornoXML.Text = oEmpresa.PastaRetorno;
                textBox_PastaEnviados.Text   = oEmpresa.PastaEnviado;
                textBox_PastaXmlErro.Text    = oEmpresa.PastaErro;
                tbPastaLote.Text             = oEmpresa.PastaEnvioEmLote;
                tbPastaValidar.Text          = oEmpresa.PastaValidar;

                textBox_PastaBackup.Text      = (oEmpresa.PastaBackup == string.Empty ? string.Empty : oEmpresa.PastaBackup);
                tbPastaConfigUniDanfe.Text    = (oEmpresa.PastaConfigUniDanfe == string.Empty ? string.Empty : oEmpresa.PastaConfigUniDanfe);
                tbPastaExeUniDanfe.Text       = (oEmpresa.PastaExeUniDanfe == string.Empty ? string.Empty : oEmpresa.PastaExeUniDanfe);
                tbPastaXmlParaDanfeMon.Text   = (oEmpresa.PastaDanfeMon == string.Empty ? string.Empty : oEmpresa.PastaDanfeMon);
                cbDanfeMonNfe.Checked         = oEmpresa.XMLDanfeMonNFe;
                cbDanfeMonProcNfe.Checked     = oEmpresa.XMLDanfeMonProcNFe;
                checkBoxRetornoNFETxt.Checked = oEmpresa.GravarRetornoTXTNFe;

                oMeuCert = oEmpresa.X509Certificado;
                DemonstraDadosCertificado();

                cboDiretorioSalvarComo.Text = oEmpresa.DiretorioSalvarComo;
                udDiasLimpeza.Value         = oEmpresa.DiasLimpeza;

                //Carregar o conteúdo do droplist do tipo de emissão para forçar demonstrar
                //o conteúdo já informado pelo usuário. Wandrey 30/10/2008
                for (int i = 0; i < arrTpEmis.Count; i++)
                {
                    if (((ComboElem)(new System.Collections.ArrayList(arrTpEmis))[i]).Codigo == oEmpresa.tpEmis)
                    {
                        this.comboBox_tpEmis.Text = ((ComboElem)(new System.Collections.ArrayList(arrTpEmis))[i]).Valor;
                        break;
                    }
                }

                //Carregar o conteúdo do droplist da Unidade Federativa (UF) para forçar demonstrar
                //o conteúdo já informado pelo usuário. Wandrey 30/10/2008
                for (int i = 0; i < arrUF.Count; i++)
                {
                    if (((ComboElem)(new System.Collections.ArrayList(arrUF))[i]).Codigo == oEmpresa.UFCod)
                    {
                        this.comboBox_UF.Text = ((ComboElem)(new System.Collections.ArrayList(arrUF))[i]).Nome;
                        break;
                    }
                }

                //Carregar o conteúdo do droplist do Ambiente para forçar demonstrar
                //o conteúdo já informado pelo usuário. Wandrey 30/10/2008
                for (int i = 0; i < arrAmb.Count; i++)
                {
                    if (((ComboElem)(new System.Collections.ArrayList(arrAmb))[i]).Codigo == oEmpresa.tpAmb)
                    {
                        this.comboBox_Ambiente.Text = ((ComboElem)(new System.Collections.ArrayList(arrAmb))[i]).Valor;
                        break;
                    }
                }
            }
            #endregion
        }
コード例 #17
0
        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);
                    }
                }
                // Carregar as configurações de todas as empresas
                //Empresa.CarregaConfiguracao();    //danasa 20-9-2010 - Em InfoApp já é carregada
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            ///
            /// danasa 9-2009
            ///
            XMLIniFile iniFile = new XMLIniFile(InfoApp.NomeArqXMLParams());

            iniFile.LoadForm(this, "");

            //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 Executar os serviços em novas threads
            //Carregar as configurações antes de executar os serviços do UNINFE
            ConfiguracaoApp.TipoAplicativo = TipoAplicativo.Nfe;
            ConfiguracaoApp.CarregarDados();
            ConfiguracaoApp.VersaoXMLCanc          = "2.00";
            ConfiguracaoApp.VersaoXMLConsCad       = "2.00";
            ConfiguracaoApp.VersaoXMLInut          = "2.00";
            ConfiguracaoApp.VersaoXMLNFe           = "2.00";
            ConfiguracaoApp.VersaoXMLPedRec        = "2.00";
            ConfiguracaoApp.VersaoXMLPedSit        = "2.00";
            ConfiguracaoApp.VersaoXMLStatusServico = "2.00";
            ConfiguracaoApp.VersaoXMLCabecMsg      = "2.00";
            ConfiguracaoApp.VersaoXMLEnvDPEC       = "1.01";
            ConfiguracaoApp.VersaoXMLConsDPEC      = "1.01";
            ConfiguracaoApp.nsURI = "http://www.portalfiscal.inf.br/nfe";
            SchemaXML.CriarListaIDXML();
            #endregion
        }