public IActionResult Index() { this._usuarioLogado.GetUsuarioLogado(); List <PkHabilitacaoProfessor> habilitacoes = new List <PkHabilitacaoProfessor>(); bool ehProfessorOuCoordenador = this._usuarioLogado.EhProfessorOuCoordenador(); if (ehProfessorOuCoordenador) { string anoLetivo = this._historicoRepository.GetAnoLetivo().Content; habilitacoes = this._profHabilitaRepository .GetHabilitacoes(codigoDoProfessor: this._usuarioLogado.Codigo, anoLetivo: anoLetivo) .Content .DistinctBy(x => new { x.CodigoDoCurso, x.Fase }) .ToList(); } PesquisaContatosIndexModel model = new PesquisaContatosIndexModel( ehProfessorOuCoordenador: ehProfessorOuCoordenador, listaDeCursosHabilitados: habilitacoes, usuarioLogado: this._usuarioLogado); string view = this ._viewRenderService .RenderToString(this, "Index", model); return(this.Json(new SaeResponse(view))); }
private void ExtraiCodigoECursoSelecionado(PesquisaContatosIndexModel index, out int codigoDoCurso, out string fase) { if (this._usuarioLogado.EhProfessorOuCoordenador()) { string[] cursoEFase = index.CursoEFase.Split('-'); codigoDoCurso = cursoEFase.FirstOrDefault().ConvertToInt32(); fase = cursoEFase.LastOrDefault(); } else { codigoDoCurso = 0; fase = string.Empty; } }
public JsonResult AtualizarLista(PesquisaContatosIndexModel index) { this._usuarioLogado.GetUsuarioLogado(); List <PkUsuarioConversa> usuarios = this._pesquisarContatosDomain.Get(index); bool ehProfessorOuCoordenador = this._usuarioLogado.EhProfessorOuCoordenador(); PesquisaContatosListaModel model = new PesquisaContatosListaModel( usuarios: usuarios, ehProfessorOuCoordenador: ehProfessorOuCoordenador); string view = this ._viewRenderService .RenderToString(this, "_Lista", model); return(this.Json(new SaeResponse(view))); }
public List <PkUsuarioConversa> Get(PesquisaContatosIndexModel index) { List <PkUsuarioConversa> listaParaRetorno = new List <PkUsuarioConversa>(); this._usuarioLogado.GetUsuarioLogado(); int codigoDoUsuarioLogado = this._usuarioLogado.Codigo; string tipoDeUsuarioLogado = this._usuarioLogado.TipoDeUsuario; int codigoDoCliente = this._saeHelperCookie.GetCookie(ECookie.CodigoDoCliente).ConvertToInt32(); this.ExtraiCodigoECursoSelecionado(index, out int codigoDoCurso, out string fase); List <PkUsuarioConversa> professores = new List <PkUsuarioConversa>(); List <PkUsuarioConversa> coordenadores = new List <PkUsuarioConversa>(); List <PkUsuarioConversa> alunos = new List <PkUsuarioConversa>(); List <PkUsuarioConversa> responsaveis = new List <PkUsuarioConversa>(); bool ehAluno = TipoDeUsuarioDoChatTrata.EhAluno(tipoDeUsuarioLogado); bool ehResponsavel = TipoDeUsuarioDoChatTrata.EhResponsavel(tipoDeUsuarioLogado); bool ehCoordenadorOuProfessor = TipoDeUsuarioDoChatTrata.EhCoordenadorOuProfessor(tipoDeUsuarioLogado); List <string> tiposSelecionados = index.TiposSelecionados; if (ehAluno) { if (this._usuarioLogado.Permissoes.ConversaComAluno //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Aluno)*/) { PkHistoricoDoAluno ultimoHistoricoDoAluno = this.GetUltimoHistoricoDoAluno(codigoDoUsuarioLogado); if (ultimoHistoricoDoAluno != null) { alunos = this.GetAlunos( ultimoHistoricoDoAluno.CodigoDoCurso, ultimoHistoricoDoAluno.Fase, codigoDoCliente) .Where(x => x.Codigo != codigoDoUsuarioLogado) .ToList(); } } if (this._usuarioLogado.Permissoes.ConversaComCoordenador //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Coordenador)*/) { PkHistoricoDoAluno ultimoHistoricoDoAluno = this.GetUltimoHistoricoDoAluno(codigoDoUsuarioLogado); coordenadores = this.GetProfessoresOuCoordenadores(ultimoHistoricoDoAluno, TipoDeUsuarioDoChatTrata.Coordenador, codigoDoCliente); } if (this._usuarioLogado.Permissoes.ConversaComProfessor //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Professor)*/) { PkHistoricoDoAluno ultimoHistoricoDoAluno = this.GetUltimoHistoricoDoAluno(codigoDoUsuarioLogado); professores = this.GetProfessoresOuCoordenadores(ultimoHistoricoDoAluno, TipoDeUsuarioDoChatTrata.Professor, codigoDoCliente); } if (this._usuarioLogado.Permissoes.ConversaComResponsavel && tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Responsavel)) { //não vai fazer por enquanto } } else if (ehResponsavel) { if (this._usuarioLogado.Permissoes.ConversaComAluno //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Aluno)*/) { //não vai fazer por enquanto } PkHistoricoDoAluno historicoDoAlunoRelacionado = this.GetUltimoHistoricoDoAluno(this._usuarioLogado.RelacaoComAluno.CodigoDoAluno); if (this._usuarioLogado.Permissoes.ConversaComCoordenador //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Coordenador)*/) { coordenadores = this.GetProfessoresOuCoordenadores(historicoDoAlunoRelacionado, TipoDeUsuarioDoChatTrata.Coordenador, codigoDoCliente); } if (this._usuarioLogado.Permissoes.ConversaComProfessor //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Professor)*/) { professores = this.GetProfessoresOuCoordenadores(historicoDoAlunoRelacionado, TipoDeUsuarioDoChatTrata.Professor, codigoDoCliente); } if (this._usuarioLogado.Permissoes.ConversaComResponsavel //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Responsavel)*/) { responsaveis = this.GetResponsaveis(historicoDoAlunoRelacionado.CodigoDoCurso, historicoDoAlunoRelacionado.Fase, codigoDoCliente) .Where(x => x.Codigo != codigoDoUsuarioLogado) .ToList(); } } else if (ehCoordenadorOuProfessor) { if (this._usuarioLogado.Permissoes.ConversaComAluno //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Aluno)*/) { alunos = this.GetAlunos(codigoDoCurso, fase, codigoDoCliente).ToList(); } if (this._usuarioLogado.Permissoes.ConversaComCoordenador //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Coordenador)*/) { coordenadores = this.GetProfessoresOuCoordenadores(codigoDoCurso, fase, TipoDeUsuarioDoChatTrata.Coordenador, codigoDoCliente) .Where(x => x.Codigo != codigoDoUsuarioLogado) .ToList(); } if (this._usuarioLogado.Permissoes.ConversaComProfessor //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Professor)*/) { professores = this.GetProfessoresOuCoordenadores(codigoDoCurso, fase, TipoDeUsuarioDoChatTrata.Professor, codigoDoCliente) .Where(x => x.Codigo != codigoDoUsuarioLogado) .ToList(); } if (this._usuarioLogado.Permissoes.ConversaComResponsavel //&& /*tiposSelecionados.Contains(TipoDeUsuarioDoChatTrata.Responsavel)*/) { responsaveis = this.GetResponsaveis(codigoDoCurso, fase, codigoDoCliente); } } listaParaRetorno.AddRange(professores); listaParaRetorno.AddRange(coordenadores); listaParaRetorno.AddRange(alunos); listaParaRetorno.AddRange(responsaveis); listaParaRetorno = this.SetUltimaVezLogado(listaParaRetorno); listaParaRetorno = listaParaRetorno .OrderBy(x => x.Nome) .ThenBy(x => x.Tipo) .ToList(); return(listaParaRetorno); }