public object PesquisarPublicacoes(PesquisarPublicacoesQueryFilter filter) { if (string.IsNullOrEmpty(filter.Descritivo)) { // Pesquisar sem filtro retorna lista vazia return(new object()); } else { var query = _session.QueryOver <Publicacao>() .Where(x => x.Ativo) .And(x => x.PublicacaoRespondida == null) .And(x => x.PublicacaoRecompartilhada == null); var comparador = Restrictions.Disjunction(); comparador.Add(Restrictions.InsensitiveLike(Projections.Property <Publicacao>(x => x.Conteudo), filter.Descritivo, MatchMode.Anywhere)); query.Where(comparador); query.OrderBy(x => x.Data).Desc(); var pagedObject = new PagedObject <Publicacao>(); pagedObject.Paginate(query, 30, filter.Pagina); return(pagedObject.PageResult(Mapper.Map <IList <PublicacaoQueryModelSearch> >(pagedObject.ResultQuery.List()))); } }
public IActionResult PesquisarPublicacoes([FromBody] PesquisarPublicacoesQueryFilter filter) { var query = _publicacaoQuery.Query.PesquisarPublicacoes(filter); return(Ok(query)); }