/// <summary> /// Salvar configurações de serviços e remover os registros anteriores. /// </summary> public bool salvar(ConfiguracaoComissao OConfiguracoes) { var idConfiguracaoBase = OConfiguracoes.id > 0 ? OConfiguracoes.id : 0; OConfiguracoes.id = 0; OConfiguracoes.setDefaultInsertValues(); db.ConfiguracaoComissao.Add(OConfiguracoes); db.SaveChanges(); bool flagSucesso = OConfiguracoes.id > 0; if (flagSucesso) { this.removeOldConfiguracao(OConfiguracoes, idConfiguracaoBase); CacheService.getInstance.remover("configuracao_comissao"); } return(flagSucesso); }
private void removeOldConfiguracao(ConfiguracaoComissao OConfiguracoes, int idConfiguracaoBase = 0) { int idUsuarioLogado = User.id(); using (var ctx = db) { ctx.Configuration.AutoDetectChangesEnabled = false; ctx.Configuration.ValidateOnSaveEnabled = false; var OConfiguracaoOld = ctx.ConfiguracaoComissao.FirstOrDefault(x => x.dtExclusao == null && x.idOrganizacao == OConfiguracoes.idOrganizacao && x.id != OConfiguracoes.id); if (OConfiguracaoOld != null && OConfiguracaoOld.idOrganizacao == OConfiguracoes.idOrganizacao) { ctx.ConfiguracaoComissao.Where(x => x.id == OConfiguracaoOld.id).Update(x => new ConfiguracaoComissao { dtExclusao = DateTime.Now, idUsuarioExclusao = idUsuarioLogado }); } idConfiguracaoBase = OConfiguracaoOld?.id > 0 && idConfiguracaoBase == 0 ? OConfiguracaoOld.id : idConfiguracaoBase; var listaPerfisComissionaveisOld = ctx.ConfiguracaoPerfilComissionavel.Where(x => x.dtExclusao == null && x.idConfiguracaoComissao == idConfiguracaoBase).ToList(); if (!listaPerfisComissionaveisOld.Any()) { return; } var listaPerfisComissionaveis = new List <ConfiguracaoPerfilComissionavel>(); foreach (var Item in listaPerfisComissionaveisOld) { var OPerfilComissionavel = new ConfiguracaoPerfilComissionavel(); OPerfilComissionavel.idConfiguracaoComissao = OConfiguracoes.id; OPerfilComissionavel.idPerfilAcesso = Item.idPerfilAcesso; OPerfilComissionavel.setDefaultInsertValues(); listaPerfisComissionaveis.Add(OPerfilComissionavel); } ctx.ConfiguracaoPerfilComissionavel.AddRange(listaPerfisComissionaveis); ctx.SaveChanges(); } }
//Construtor public ConfiguracaoComissaoForm() { this.ConfiguracaoComissao = new ConfiguracaoComissao(); }