protected List <EtapaResposta> ObterSolicitacoesUsuario(int idUsuario) { var usuarioSelecionado = (new ManterUsuario()).ObterPorID(idUsuario); IQueryable <HierarquiaNucleoUsuario> listaHierarquiaNucleoUsuario = new ManterHierarquiaNucleoUsuario().ObterUsuariosNucleo(usuarioSelecionado.ID); List <int> idsEtapas = new List <int>(); foreach (HierarquiaNucleoUsuario hierarquiaNucleoUsuario in listaHierarquiaNucleoUsuario) { var etapasPermissaoNucleo = new ManterEtapaPermissaoNucleo().ObterPorHierarquiaNucleoUsario(hierarquiaNucleoUsuario.ID); if (etapasPermissaoNucleo.Any()) { foreach (EtapaPermissaoNucleo etapaPermissaoNucleo in etapasPermissaoNucleo) { idsEtapas.Add(etapaPermissaoNucleo.Etapa.ID); } } } if (idsEtapas.Count > 0) { List <EtapaResposta> demandas_usuario = new ManterEtapaResposta().ObterTodos().Where(x => idsEtapas.Contains(x.Etapa.ID) && x.Status == (int)enumStatusEtapaResposta.Aguardando).ToList(); return(demandas_usuario); } return(null); }
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."); } }
protected void btnMover_OnClick(object sender, EventArgs e) { try { var manterHierarquiaNucleoUsuario = new ManterHierarquiaNucleoUsuario(); var idHierarquiaNucleo = int.Parse(IdHierarquiaNucleoSelcionado.Value); var hierarquiaNucleo = new ManterHierarquiaNucleo().ObterPorId(idHierarquiaNucleo); var idUsuario = int.Parse(IdUsuarioSelecionado.Value); var usuarioSelecionado = new ManterUsuario().ObterPorID(idUsuario); var isGestor = int.Parse(IsGestorSelecionado.Value) == 1 ? true : false; IQueryable <HierarquiaNucleoUsuario> listaHierarquiaNucleoUsuario = manterHierarquiaNucleoUsuario.ObterUsuariosNucleo(usuarioSelecionado.ID); if (listaHierarquiaNucleoUsuario.Any()) { foreach (HierarquiaNucleoUsuario hierarquiaNucleoUsuario in listaHierarquiaNucleoUsuario) { var etapasPermissaoNucleo = new ManterEtapaPermissaoNucleo().ObterPorHierarquiaNucleoUsario(hierarquiaNucleoUsuario.ID); if (etapasPermissaoNucleo.Any()) { foreach (var etapaPermissaoNucleo in etapasPermissaoNucleo) { new ManterEtapaRespostaPermissao().ExcluirTodosFkEtapaPermissaoNucleo(etapaPermissaoNucleo.ID); } } manterHierarquiaNucleoUsuario.ExcluirTodosFkHieraquiaNucleoUsuario(hierarquiaNucleoUsuario.ID); manterHierarquiaNucleoUsuario.Excluir(hierarquiaNucleoUsuario.ID); } } salvarUsuarioNucleo(usuarioSelecionado, hierarquiaNucleo, UfSelecionada, isGestor); var usuarioHierarquiaNucleoInserido = manterHierarquiaNucleoUsuario.ObterPorUsuarioEHieraquiaNucleo(usuarioSelecionado.ID, hierarquiaNucleo.ID); List <int> idsUsuariosNucleo = hierarquiaNucleo.HierarquiaNucleoUsuarios.Select(x => x.ID).ToList(); if (idsUsuariosNucleo.Any()) { var etapasHierarquiaNucleo = new ManterEtapaPermissaoNucleo().ObterPorHierarquiaNucleoUsarioIn(idsUsuariosNucleo).Select(x => x.Etapa).Distinct().ToList(); if (etapasHierarquiaNucleo.Any()) { foreach (var etapa in etapasHierarquiaNucleo) { var etapaPermissaoNucleoAdd = new EtapaPermissaoNucleo() { Etapa = etapa, HierarquiaNucleoUsuario = usuarioHierarquiaNucleoInserido }; new ManterEtapaPermissaoNucleo().Salvar(etapaPermissaoNucleoAdd); } } } } catch (Exception) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao mover o usuário de Hierarquia de Núcleo."); } }