Exemple #1
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;
            }
        }
Exemple #2
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.");
            }
        }