Classe responsável por realizar algumas tarefas na parte de configurações da aplicação. Arquivo de configurações: UniNfeConfig.xml
예제 #1
0
 /// <summary>
 /// Reconfigura o UniNFe, gravando as novas informações na tela de configuração
 /// </summary>
 /// <param name="cArquivo">Nome do arquivo XML contendo as novas configurações</param>
 protected void ReconfigurarUniNFe(string cArquivo)
 {
     try
     {
         ConfiguracaoApp oConfig = new ConfiguracaoApp();
         oConfig.ReconfigurarUniNFe(cArquivo);
     }
     catch
     {
     }
 }
예제 #2
0
 protected void ConsultaCertificados(string arquivo)
 {
     ConfiguracaoApp oConfig = new ConfiguracaoApp();
     oConfig.CertificadosInstalados(arquivo);
 }
예제 #3
0
        private void btnNova_Click(object sender, EventArgs e)
        {
            if (this.btnNova.Text.Equals("Nova"))
            {
                bool ok = false;
                using (Formularios.FormNova f = new Formularios.FormNova(this.FindForm()))
                {
                    ok = f.ShowDialog() == DialogResult.OK;

                    if (ok)
                    {
                        this.currentEmpresa = new Empresa();
                        this.currentEmpresa.CNPJ = NFe.Components.Functions.OnlyNumbers(f.edtCNPJ.Text, ".,-/").ToString().PadLeft(14, '0');
                        this.currentEmpresa.Nome = f.edtNome.Text;
                        this.currentEmpresa.Servico = (TipoAplicativo)f.cbServico.SelectedValue;
                        if (this.currentEmpresa.Servico == TipoAplicativo.Nfse)
                            this.currentEmpresa.UnidadeFederativaCodigo = 0;
                        else
                            this.currentEmpresa.UnidadeFederativaCodigo = 41;
                    }
                }
                if (ok)
                {
                    this.cbEmpresas.Visible = this.metroLabel2.Visible = false;
                    this.CopiaDadosDaEmpresaParaControls(currentEmpresa, false);

                    this.tc_main.SelectedIndex = 1;
                    this.tc_empresa.SelectedIndex = 0;

                    this.btnNova.Tag = 1;
                    this.Modificado = true;
                }
            }
            else
            {
                ///
                /// salva a lista de empresas
                List<Empresa> temp = new List<Empresa>(Empresas.Configuracoes);
                try
                {
                    ///
                    /// compara o que foi mudado
                    /// 
                    bool grava = DadosMudaramDaEmpresa(true);

                    if (!this.EmpresaValidada)
                        return;

                    if (grava)
                    {
                        currentEmpresa.RemoveEndSlash();

                        if (this.servicoCurrent != this.currentEmpresa.Servico)
                        {
                            var oe = Empresas.FindConfEmpresa(this.currentEmpresa.CNPJ, this.servicoCurrent);
                            if (oe != null)
                                Empresas.Configuracoes.Remove(oe);
                        }

                        string _key = this.currentEmpresa.CNPJ + this.currentEmpresa.Servico.ToString();
                        ///
                        /// salva a configuracao da empresa
                        /// 

                        this.currentEmpresa.SalvarConfiguracao(true, true);


                        var app = new ConfiguracaoApp();
                        ///
                        /// salva o arquivo da lista de empresas
                        ///                         
                        app.GravarArqEmpresas();

                        if (this.uc_geral.Modificado)
                        {
                            ///
                            /// salva as configuracoes gerais
                            app.GravarConfigGeral();
                        }
                        ///
                        /// reload a lista de empresas
                        Empresas.CarregaConfiguracao();
                        ///
                        /// reload o ambiente p/ manutencao
                        this.CreateControles();
                        ///
                        /// reposiciona a empresa no combobox
                        /// 
                        for (int item = 0; item < this.cbEmpresas.Items.Count; ++item)
                        {
                            NFe.Components.ComboElem empr = this.cbEmpresas.Items[item] as NFe.Components.ComboElem;
                            if (empr.Key.Equals(_key))
                            {
                                this.cbEmpresas.SelectedIndex = item;
                                break;
                            }
                        }
                    }
                    else
                    {
                        ///
                        /// a empresa nao mudou mas as propriedades gerais mudaram?
                        if (this.uc_geral.Modificado)
                        {
                            new ConfiguracaoApp().GravarConfigGeral();
                            this.uc_geral.PopulateConfGeral();
                        }
                    }
                    this.Modificado = false;
                    this.cbEmpresas.Visible = this.metroLabel2.Visible = true;
                }
                catch (Exception ex)
                {
                    ///
                    /// restaura a lista de empresas
                    Empresas.Configuracoes = new List<Empresa>(temp);

                    if (Convert.ToInt16(this.btnNova.Tag) == 1)//inclusao
                    {
                        ///
                        /// exclui as pastas criadas na inclusao
                        /// 
                        try
                        {
                            this.currentEmpresa.ExcluiPastas();
                        }
                        catch { }
                    }
                    MetroFramework.MetroMessageBox.Show(uninfeDummy.mainForm, ex.Message, "");
                }
            }
        }