private void consultarMatriculasUsuario()
        {
            var listaOfertas = rblGerenciarMatriculasAbertas.SelectedValue == "S"
                ? new ManterOferta().ObterTodasIQueryable().Where(x => x.DataFimInscricoes != null && x.DataFimInscricoes >= DateTime.Now)
                : new ManterOferta().ObterTodasIQueryable().Where(x => x.DataFimInscricoes != null && x.DataFimInscricoes < DateTime.Now);

            if (ucLupaUsuario.SelectedUser != null)
            {
                var usuario = new classes.Usuario();
                usuario = ucLupaUsuario.SelectedUser;

                var bmMatriculasAluno = (new BMMatriculaTurma()).ObterPorUsuario(usuario.ID)
                                        .Select(x => x.MatriculaOferta)
                                        .Where(x => listaOfertas.Select(o => o.ID).Contains(x.Oferta.ID));

                var matriculasAluno = bmMatriculasAluno.ToList();

                WebFormHelper.PreencherGrid(matriculasAluno, dgvMatriculaOferta);
                pnlMatricula.Visible = true;
            }
            else
            {
                pnlMatricula.Visible = false;
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Selecione um Usuário");
            }
        }
        private void AdicionarOuRemoverAlunos(classes.EmailEnvio emailEnvioEdicao)
        {
            IList <EmailEnvioPermissao> listaNot = emailEnvioEdicao.ListaPermissao.Where(x => x.Usuario != null).ToList();

            // Remove todos do Objeto sempre e aloca somente os selecionados no grid view
            emailEnvioEdicao.removerUsuarios();

            GridView gridViewUsuarios = (GridView)this.ucLupaMultiplosUsuarios.FindControl("GridViewUsuariosSelecionados");

            if (gridViewUsuarios.Rows.Count > 0)
            {
                BMUsuario bmUsu         = new BMUsuario();
                Usuario   usuarioLogado = bmUsu.ObterUsuarioLogado();

                foreach (GridViewRow row in gridViewUsuarios.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        CheckBox chkRow = (row.Cells[0].FindControl("chkRow") as CheckBox);

                        // Se estiver selecionado
                        if (chkRow.Checked)
                        {
                            ManterUsuario   mantUsuario = new ManterUsuario();
                            classes.Usuario user        = mantUsuario.ObterPorCPF(row.Cells[2].Text);

                            emailEnvioEdicao.adicionarUsuario(user, usuarioLogado);
                        }
                    }
                }
            }
        }
Beispiel #3
0
 public void ExibirTutorias(classes.Usuario usuario)
 {
     if (usuario.ListaPerfil.Any(x => x.Perfil.ID == (int)enumPerfil.Professor))
     {
         ucTutorias.PreencherCampos(usuario);
     }
     else
     {
         pnlTutorias.Visible = false;
     }
 }
Beispiel #4
0
        protected void dgvTermoAceite_OnRowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType.Equals(DataControlRowType.DataRow))
            {
                var termoAceite = (classes.TermoAceite)e.Row.DataItem;

                // Criar comportamento de singleton com o usuário logado para não ficar consultando sempre.
                UsuarioLogado = UsuarioLogado ?? new ManterUsuario().ObterUsuarioLogado();

                // Esconder os botões de editar e excluir caso o gestor não seja o criador do termo.
                if (UsuarioLogado.IsGestor() && (termoAceite.Usuario == null || UsuarioLogado.UF.ID != termoAceite.Uf.ID))
                {
                    var lkbEditar  = (LinkButton)e.Row.FindControl("lkbEditar");
                    var lkbExcluir = (LinkButton)e.Row.FindControl("lkbExcluir");

                    lkbEditar.Visible      =
                        lkbExcluir.Visible = false;
                }
            }
        }
Beispiel #5
0
        private void AdicionarCategoriaConteudo(classes.Usuario usuario)
        {
            var categoriasMarcadas   = this.ucCategorias.IdsCategoriasMarcadas;
            var categoriasExistentes = new BMCategoriaConteudo().ObterTodos();

            foreach (var item in categoriasExistentes)
            {
                if (categoriasMarcadas.Contains(item.ID))
                {
                    //categoriaConteudo.Auditoria = new Auditoria(new BMUsuario().ObterUsuarioLogado().CPF);
                    var categoriaConteudo = categoriasExistentes.FirstOrDefault(x => x.ID == item.ID);
                    //categoriaConteudo.Usuario = usuario;
                    usuario.AdicionarCategoriaConteudo(categoriaConteudo);
                }
                else
                {
                    if (usuario.ListaCategoriaConteudo.Any(x => x.ID == item.ID))
                    {
                        usuario.RemoverListaCategoriaConteudo(item.ID);
                    }
                }
            }
        }
Beispiel #6
0
 private static bool UsuarioPodeValidarAvaliacao(classes.Turma turma, classes.Usuario usuarioLogado)
 {
     return(usuarioLogado.IsGestor() && usuarioLogado.UF.ID == turma.ConsultorEducacional.UF.ID);
 }
Beispiel #7
0
        protected void btnEnviarAvaliacao_OnClick(object sender, EventArgs e)
        {
            if (BloquearCampos)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Não é possível alterar esta avaliação, pois ela está bloqueada.");
                return;
            }

            // Salvar os dados da tela antes de enviar, só para se certificar.
            btnSalvar_OnClick(null, null);

            // O evento de salvar persiste a avaliação salva na variável AvaliacaoSalva.
            var avaliacao = AvaliacaoSalva;

            var manterAvaliacao = new ManterAvaliacao();

            var qtQuestoes = manterAvaliacao.ObterQuestoes().Count();

            var qtMatriculas = ObterTurma().ListaMatriculas.Count();

            var manterUsuario = new ManterUsuario();

            var usuarioLogado = manterUsuario.ObterUsuarioLogado();

            if (avaliacao.Status == enumStatusAvaliacao.AguardandoResposta)
            {
                if (avaliacao.IsRespondido(qtQuestoes, qtMatriculas) && usuarioLogado.IsConsultorEducacional())
                {
                    var template = new ManterTemplate().ObterTemplatePorID((int)enumTemplate.AvaliacaoGestor);

                    if (template == null)
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro,
                                                     "Não foi possível enviar e-mail ao gestor. Tente novamente.");
                        return;
                    }

                    // Obter todos os gestores da UF do usuário logado.
                    var usuarioFiltro = new classes.Usuario
                    {
                        ListaPerfil =
                            new List <classes.UsuarioPerfil>
                        {
                            new classes.UsuarioPerfil {
                                Perfil = new classes.Perfil {
                                    ID = (int)enumPerfil.GestorUC
                                }
                            }
                        },
                        UF = new classes.Uf {
                            ID = usuarioLogado.UF.ID
                        }
                    };

                    var gestores = manterUsuario.ObterPorFiltro(usuarioFiltro)
                                   .Where(x => x.Email != null && x.Email != "")
                                   // Selecionar somente os campos que interessam.
                                   .Select(x => new classes.Usuario {
                        Email = x.Email, Nome = x.Nome
                    })
                                   .ToList();

                    // Caso não haja gestores para atualizar, notifica o usuário e impede a alteração.
                    if (!gestores.Any())
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro,
                                                     "Não há gestor na UF " + usuarioLogado.UF.Sigla + " para validar a avaliação dos alunos.");
                        return;
                    }

                    var manterEmail = new ManterEmail();

                    var textoTemplate = template.TextoTemplate;


                    // Reza a lenda que cada oferta desses cursos só possui uma turma. Vamos torcer para isso ser verdade.
                    var turma = avaliacao.Turma;

                    textoTemplate =
                        textoTemplate
                        // Substituir o nome da solução duas vezes porque tem duas tags de solução.
                        .Replace("#SOLUCAO", turma.Oferta.SolucaoEducacional.Nome)
                        .Replace("#SOLUCAO", turma.Oferta.SolucaoEducacional.Nome)
                        .Replace("#OFERTA", turma.Oferta.Nome)
                        .Replace("#TURMA", turma != null ? turma.Nome : "")
                        .Replace("#CONSULTOR",
                                 turma != null && turma.ConsultorEducacional != null
                                    ? turma.ConsultorEducacional.Nome
                                    : "");

                    // Executa o envio de e-mails via Threading para deixar o fluxo mais rápido.
                    var thread = new Thread(() =>
                    {
                        foreach (var gestor in gestores)
                        {
                            try
                            {
                                var templateFinal = textoTemplate.Replace("#GESTOR", gestor.Nome);

                                manterEmail.EnviarEmail(gestor.Email, template.Assunto ?? template.DescricaoTemplate, templateFinal);
                            }
                            catch (Exception)
                            {
                                // Ignored.
                            }
                        }
                    })
                    {
                        IsBackground = true
                    };

                    thread.Start();

                    avaliacao.Status = enumStatusAvaliacao.AguardandoGestor;

                    manterAvaliacao.Salvar(avaliacao);

                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso,
                                                 "Avaliação enviada ao gestor e aguardando análise.",
                                                 "GerenciamentoMatricula.aspx?oferta=" + avaliacao.Turma.Oferta.ID);
                }
                else
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Você precisa responder todas as questões antes de enviar sua avaliação ao Gestor.");
                }
            }
        }
Beispiel #8
0
 private void ExibirPanelDadosPessoais(classes.Usuario usuario)
 {
     //Usuario usuario = new ManterUsuario().ObterUsuarioPorID(this.IdUsuario);
     this.ucUsuario1.PreencherListas();
     this.ucUsuario1.PreencherCampos(usuario);
 }
Beispiel #9
0
        private void PreencherCategoriasUsuario(classes.Usuario u)
        {
            var selecionados = u.ListaCategoriaConteudo.Select(l => l.ID).ToList();

            ucCategorias.PreencherCategorias(false, selecionados, u, false, true);
        }