public override IList <InscricaoParticipante> ListarParticipantesSemSalaEstudoNormal(Evento evento)
        {
            InscricaoParticipante        aliasParticipante = null;
            AtividadeInscricaoSalaEstudo aliasAtividade    = null;

            var subQueryParticipantes = QueryOver.Of <SalaEstudo>()
                                        .JoinQueryOver <InscricaoParticipante>(x => x.Participantes, () => aliasParticipante)
                                        .Where(x => x.Id == aliasAtividade.Inscrito.Id && x.Situacao == EnumSituacaoInscricao.Aceita)
                                        .SelectList(x => x.Select(() => aliasParticipante.Id));

            var subQueryCoordenadores = QueryOver.Of <AtividadeInscricaoSalaEstudoCoordenacao>()
                                        .Where(x => x.Inscrito.Id == aliasAtividade.Id)
                                        .Select(x => x.Inscrito.Id);

            return(mSessao.QueryOver <AtividadeInscricaoSalaEstudo>(() => aliasAtividade)
                   .JoinQueryOver(x => x.Inscrito)
                   .Where(x => x.Situacao == EnumSituacaoInscricao.Aceita)
                   .JoinQueryOver(y => y.Evento)
                   .Where(y => y.Id == evento.Id)
                   .WithSubquery.WhereNotExists(subQueryParticipantes)
                   .Select(x => x.Inscrito)
                   .List <InscricaoParticipante>());
        }
Example #2
0
 public static DTOInscricaoSalaEstudo Converter(this AtividadeInscricaoSalaEstudo atividade)
 {
     return(new DTOInscricaoSalaEstudo());
 }