public CollectionOperationResult <EventModel> GetRecords(EventSourceParameters parameters) { try { var rawModels = Repository .GetAsync(i => (parameters.PersonIds.Any() || parameters.PersonIds.Contains(i.PersonId)) && (String.IsNullOrEmpty(parameters.KeyPhrase) || i.Content.Contains(parameters.KeyPhrase, StringComparison.InvariantCultureIgnoreCase))) .Result; var orderedModels = rawModels.OrderByDescending(model => model.EventDate).AsQueryable(); var pagedModels = PagesList <EventModel> .Init(orderedModels, parameters.PageNumber, parameters.PerPage); return(CollectionSuccess(OperationTypes.Read, pagedModels)); } catch (Exception e) { return(CollectionError(OperationTypes.Read, ServerMessages.CannotLoadRecords)); } }
private PagesList <PersonModel> ToPagesList(List <PersonModel> result) { //TODO return(PagesList <PersonModel> .Init(result, 1, result.Count())); }