Esempio n. 1
0
        private void PreencherNucleos()
        {
            var etapas = new ManterEtapaResposta().ObterDTOEtapasPendentesPorNucleo();

            rptNucleos.DataSource = etapas;
            rptNucleos.DataBind();
        }
Esempio n. 2
0
        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());
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        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.");
            }
        }