Exemplo n.º 1
0
 public static DTOInscricaoSalaEstudo Converter(this AtividadeInscricaoSalaEstudoOrdemEscolha atividade)
 {
     return(new DTOInscricaoSalaEstudo
     {
         Coordenador = null,
         EscolhidasParticipante = atividade.Salas.Select(x => x.Converter()).ToList()
     });
 }
        public override IList <InscricaoParticipante> ListarParticipantesSemSalaEstudoPorOrdem(Evento evento)
        {
            InscricaoParticipante aliasParticipante = null;
            AtividadeInscricaoSalaEstudoOrdemEscolha 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 <AtividadeInscricaoSalaEstudoOrdemEscolha>(() => 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>());
        }