コード例 #1
0
        private void btnNova_Click(object sender, EventArgs e)
        {
            if (btnNova.Text.Equals("Nova"))
            {
                bool ok = false;
                using (Formularios.FormNova f = new Formularios.FormNova(FindForm()))
                {
                    ok = f.ShowDialog() == DialogResult.OK;

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

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

                    btnNova.Tag = 1;
                    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 (!EmpresaValidada)
                    {
                        return;
                    }

                    if (grava)
                    {
                        currentEmpresa.RemoveEndSlash();

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

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

                        currentEmpresa.SalvarConfiguracao((currentEmpresa.Servico == TipoAplicativo.SAT ? false : true), true);

                        ValidarPastaBackup();

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

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

                    if (Convert.ToInt16(btnNova.Tag) == 1)//inclusao
                    {
                        ///
                        /// exclui as pastas criadas na inclusao
                        ///
                        try
                        {
                            currentEmpresa.ExcluiPastas();
                        }
                        catch { }
                    }
                    MetroFramework.MetroMessageBox.Show(uninfeDummy.mainForm, ex.Message, "");
                }
            }
        }
コード例 #2
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
            {
                try
                {
                    ///
                    /// compara o que foi mudado
                    ///
                    bool grava = DadosMudaramDaEmpresa(true);
                    if (grava)
                    {
                        string _key = this.currentEmpresa.CNPJ + this.currentEmpresa.Servico.ToString();
                        ///
                        /// salva a configuracao da empresa
                        this.currentEmpresa.SalvarConfiguracao(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 mudou?
                        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)
                {
                    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, "");
                }
            }
        }