public IList <QuestaoParaAvaliarDTO> ListarQuestoesParaAvaliar(FiltrarQuestoesRequest filtro) { var queryRespostas = _respostaRepository.Queryable().Where(r => r.IdQuestao == filtro.IdQuestao); if (filtro.RemoverQuestoesJaAvaliadas) { queryRespostas = queryRespostas.Where(r => r.PontosGanhos == null); } var questoes = (from r in queryRespostas join e in _entregaDeLicaoRepository.Queryable() on r.IdEntregaDeLicao equals e.Id where e.Status == EntregaDeLicaoStatusEnum.Entregue orderby e.DataHoraEntrega ascending select new QuestaoParaAvaliarDTO { IdEntregaDeLicao = e.Id, IdResposta = r.Id, Resposta = r.Conteudo, IdQuestao = r.IdQuestao, DataHoraEntrega = e.DataHoraEntrega, IdGrupo = e.IdGrupo, PontosRecebidos = r.PontosGanhos }).ToList(); return(questoes); }
public bool AlunoJaComecouAFazerALicao(int idAluno, int idLicao) { return((from r in _responsavelRepository.Queryable() join e in _entregaDeLicaoRepository.Queryable() on r.IdEntregaDeLicao equals e.Id where r.IdAluno == idAluno && e.IdLicao == idLicao select e).Any()); }
public IList <EntregaDeTrofeuDTO> Listar(FiltroTrofeusRequest filtro) { if (!filtro.IdEntregaDeLicao.HasValue && !filtro.IdGrupo.HasValue && !filtro.IdUsuario.HasValue) { throw new Exception("Solicitação inválida."); } IQueryable <EntregaDeTrofeu> queryTrofeusEntregues = _repository.Queryable(); if (filtro.IdEntregaDeLicao.HasValue) { queryTrofeusEntregues = from et in queryTrofeusEntregues join el in _entregaDeLicaoRepository.Queryable() on et.IdEntregaDeLicao equals el.Id where el.Id == filtro.IdEntregaDeLicao.Value select et; } else if (filtro.IdGrupo.HasValue) { queryTrofeusEntregues = from et in queryTrofeusEntregues join el in _entregaDeLicaoRepository.Queryable() on et.IdEntregaDeLicao equals el.Id where el.IdGrupo == filtro.IdGrupo.Value select et; } else if (filtro.IdUsuario.HasValue) { queryTrofeusEntregues = from et in queryTrofeusEntregues join r in _responsavelPelaLicaoRepository.Queryable() on et.IdEntregaDeLicao equals r.IdEntregaDeLicao join a in _alunoDoCaseRepository.Queryable() on r.IdAluno equals a.Id where a.IdUsuario == filtro.IdUsuario.Value select et; } var trofeus = (from et in queryTrofeusEntregues join t in _trofeuRepository.Queryable() on et.IdTrofeu equals t.Id select new EntregaDeTrofeuDTO { IdEntrega = et.Id, IdTrofeu = et.IdTrofeu, NomeTrofeu = t.Nome, PontosMovimentados = t.Pontos }).ToList(); return(trofeus); }
private bool GrupoJaTeveLicaoEntregue(int idGrupo) { return((from e in _entregaDeLicaoRepository.Queryable() where e.IdGrupo == idGrupo && e.Status == EntregaDeLicaoStatusEnum.Entregue select e).Any()); }