public QueryGroupResult QueryGroups(int organizationId, bool sortByCreatedAt) { var query = GetValidGroups(organizationId); if (sortByCreatedAt) { query = query.OrderByDescending(p => p.CreatedAt); } var results = query.Select(p => this.mapper.Map <GroupListModel>(p)).ToList(); var result = new QueryGroupResult { Result = results }; return(result); }
public QueryGroupResult <T> GetGroup(QueryRequest request) { SetRequestDefaultValues(request); var solrProds = Execute(request); var searchResponse = new QueryGroupResult <T> { Groups = solrProds.Grouping[request.GroupByField].Groups.Select(x => new Domain.Response.Group <T>() { Count = x.NumFound, value = x.GroupValue, Documents = x.Documents.ToList(), valueField = request.GroupByField }).ToList(), TotalResults = solrProds.Grouping[request.GroupByField].Matches, CurrentPage = request.Start + 1, PageSize = request.Rows, FilteredResults = solrProds.Grouping[request.GroupByField].Ngroups.HasValue ? solrProds.Grouping[request.GroupByField].Ngroups.Value : 0, }; return(searchResponse); }