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, ""); } } }
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, ""); } } }