protected void btnSalvarNucleo_OnClick(object sender, EventArgs e) { try { if (string.IsNullOrWhiteSpace(txtTitulo.Text)) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Nome do Núcleo Obrigatório"); return; } Dominio.Classes.HierarquiaNucleo hierarquiaNucleo = new Dominio.Classes.HierarquiaNucleo(); List <EtapaResposta> etapasRespostas = new List <EtapaResposta>(); var HierarquiaNucleoId = int.Parse(idHierarquiaNucleo.Value); if (HierarquiaNucleoId > 0) { hierarquiaNucleo = new ManterHierarquiaNucleo().ObterPorId(HierarquiaNucleoId); if (rblStatus.SelectedValue == "0" && hierarquiaNucleo.Ativo) { etapasRespostas = new ManterEtapaResposta().ObterEtapasRespostaAnalistas(hierarquiaNucleo.HierarquiaNucleoUsuarios.ToList()); if (etapasRespostas.Count == 0) { hierarquiaNucleo.Ativo = false; } } else { hierarquiaNucleo.Ativo = rblStatus.SelectedValue == "1" ? true : false; } } else { hierarquiaNucleo.Uf = UfSelecionada; hierarquiaNucleo.Ativo = rblStatus.SelectedValue == "1" ? true : false; } hierarquiaNucleo.Nome = txtTitulo.Text; new ManterHierarquiaNucleo().Salvar(hierarquiaNucleo); OcultarModalNucleo_Click(null, null); if (etapasRespostas.Count > 0) { idHieraquiaNucleoInativacao.Value = hierarquiaNucleo.ID.ToString(); // var ids = etapasRespostas.Select(x => x.ProcessoResposta.ID); var ids = etapasRespostas.Select(x => $"#{x.ProcessoResposta.ID}").ToList(); string msg = String.Join(", ", ids); ExibirModalMsg(msg); } else { WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Núcleo salvo com sucesso"); } } catch (Exception ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao salvar Núcleo"); return; } }
protected void salvarUsuarioNucleo(Usuario usuarioSelecionado, Dominio.Classes.HierarquiaNucleo hierarquiaNucleo, Uf UfSelecionada, bool isGestor) { try { var manterHierarquiaNucleoUsuario = new ManterHierarquiaNucleoUsuario(); manterHierarquiaNucleoUsuario.Salvar(usuarioSelecionado, hierarquiaNucleo, UfSelecionada, isGestor); //ADICIONA USUARIO DO NUCLEO AS PERMISSOES DAS ETAPAS QUE POSSUI O NUCLEO var hierarquiaNucleoUsuario = manterHierarquiaNucleoUsuario.ObterTodosIQueryable() .FirstOrDefault(x => x.Usuario.ID == usuarioSelecionado.ID && x.HierarquiaNucleo.ID == hierarquiaNucleo.ID); var etapasHierarquia = new ManterEtapaPermissaoNucleo() .ObterTodosIQueryable() .Where(x => x.HierarquiaNucleoUsuario != null && x.HierarquiaNucleoUsuario.HierarquiaNucleo != null && x.HierarquiaNucleoUsuario.HierarquiaNucleo.ID == hierarquiaNucleo.ID) .Select(x => x.Etapa) .Distinct().ToList(); if (hierarquiaNucleoUsuario != null && etapasHierarquia.Any()) { var manterEtapaPermissaoNucleo = new ManterEtapaPermissaoNucleo(); foreach (var etapa in etapasHierarquia) { var permissao = new EtapaPermissaoNucleo() { Etapa = etapa, HierarquiaNucleoUsuario = hierarquiaNucleoUsuario }; manterEtapaPermissaoNucleo.Salvar(permissao); } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Usuário incluído com sucesso."); OcultarModal_Click(null, null); OcultarModalUsuarioConfirmacao_Click(null, null); OcultarModaConfirmacaoMover_Click(null, null); if (isGestor) { List <int> idsUsuariosNucleo = hierarquiaNucleo.HierarquiaNucleoUsuarios.Select(x => x.ID).ToList(); if (idsUsuariosNucleo.Count > 0) { List <int> idsEtapasHierarquiaNucleo = new ManterEtapaPermissaoNucleo().ObterPorHierarquiaNucleoUsarioIn(idsUsuariosNucleo).Select(x => x.Etapa.ID).Distinct().ToList(); var etapasResposta = new ManterEtapaResposta().ObterTodos().Where(x => idsEtapasHierarquiaNucleo.Contains(x.Etapa.ID)).ToList(); var etapasRespostaAguaradando = etapasResposta.Where(x => x.ProcessoResposta.Status == (int)enumStatusEtapaResposta.Aguardando).Distinct().ToList(); var idsSolicitacoes = etapasRespostaAguaradando.Select(x => $"#{x.ProcessoResposta.ID}").ToList(); string msg; msg = String.Join(", ", idsSolicitacoes); msg = "A(s) solicitação(ões) " + msg + " passa(m) a ter como responsável por aprovação o(a) " + usuarioSelecionado.Nome; ExibirModalNovoResponsavel(msg); } } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } catch (Exception ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao incluir o usuário na Hierarquia de Núcleo."); } }