private void PreencherNucleos() { var etapas = new ManterEtapaResposta().ObterDTOEtapasPendentesPorNucleo(); rptNucleos.DataSource = etapas; rptNucleos.DataBind(); }
private void PreencherEtapas(int Idnucleo, enumPrazoEncaminhamentoDemanda status, int pagina = 0) { var etapas = new ManterEtapaResposta().ObterDTOPorPermissaoDoNucleoPorFiltro(Idnucleo, status, _demandasPorPagina, pagina); rptDemandas.DataSource = etapas; rptDemandas.DataBind(); }
public IEnumerable <DTORelatorioSolicitacaoDemanda> ObterSolicitacoes() { var processoResposta = new ManterProcessoResposta().ObterTodosIQueryable(); var etapaResposta = new ManterEtapaResposta().ObterTodosIQueryable(); var campoResposta = new ManterCampoResposta().ObterTodosIQueryable(); var usuarios = new ManterUsuario().ObterTodosIQueryable(); var result = (from pr in processoResposta join er in etapaResposta on pr.ID equals er.ProcessoResposta.ID join cr in campoResposta on er.ID equals cr.EtapaResposta.ID join u in usuarios on pr.Usuario.ID equals u.ID where pr.Processo != null && er.Ativo select new DTORelatorioSolicitacaoDemanda { NumeroProcesso = pr.ID, IdProcesso = pr.Processo.ID, IdEtapa = er.Etapa.ID, IdUsuario = u.ID, UsuarioDemandante = u.Nome, Unidade = u.Unidade, Demanda = pr.Processo.Nome, DataAbertura = pr.DataSolicitacao, Status = pr.Status, EtapaAtual = etapaResposta.Where(e => e.ProcessoResposta.ID == pr.ID && e.Ativo).OrderByDescending(e => e.ID).Select(e => e.Etapa.Nome).FirstOrDefault(), EtapaResposta = er, IdEtapaResposta = er.ID }).Distinct(); return(result.ToList()); }
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 CarregarEtapasNucleo_Click(object sender, EventArgs e) { LinkButton botao = (LinkButton)sender; IdNucleo = int.Parse(botao.CommandArgument); Status = int.Parse(botao.CommandName); PreencherInformacoesNucleo(IdNucleo); PreencherEtapas(IdNucleo, (enumPrazoEncaminhamentoDemanda)Status); var total = new ManterEtapaResposta().ObterTotalPermissaoDoNucleoPorFiltro(IdNucleo, (enumPrazoEncaminhamentoDemanda)Status); PopulateDemandasPager(total, _demandasPorPagina); DefinirCor((enumPrazoEncaminhamentoDemanda)Status); ExibirModal(); }
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."); } }