int IComparer.Compare(Object x, Object y) { ComboElem objetoA = (ComboElem)x; ComboElem objetoB = (ComboElem)y; return(objetoA.Nome.CompareTo(objetoB.Nome)); }
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(true, true); 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) { NFe.Components.ComboElem empr = cbEmpresas.Items[item] as NFe.Components.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, ""); } } }