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); } } } } }
public void ExibirTutorias(classes.Usuario usuario) { if (usuario.ListaPerfil.Any(x => x.Perfil.ID == (int)enumPerfil.Professor)) { ucTutorias.PreencherCampos(usuario); } else { pnlTutorias.Visible = false; } }
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; } } }
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); } } } }
private static bool UsuarioPodeValidarAvaliacao(classes.Turma turma, classes.Usuario usuarioLogado) { return(usuarioLogado.IsGestor() && usuarioLogado.UF.ID == turma.ConsultorEducacional.UF.ID); }
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."); } } }
private void ExibirPanelDadosPessoais(classes.Usuario usuario) { //Usuario usuario = new ManterUsuario().ObterUsuarioPorID(this.IdUsuario); this.ucUsuario1.PreencherListas(); this.ucUsuario1.PreencherCampos(usuario); }
private void PreencherCategoriasUsuario(classes.Usuario u) { var selecionados = u.ListaCategoriaConteudo.Select(l => l.ID).ToList(); ucCategorias.PreencherCategorias(false, selecionados, u, false, true); }