public IActionResult AuditTrailSearch(string searchString, int skip, int amount) { var auditTrailViewModel = new AuditTrailViewModel { Filter = searchString, Skip = skip, Size = amount }; if (skip > 0 || amount > 0) { var paging = new AuditTrailPaging { Size = amount, Skip = skip }; auditTrailViewModel.AuditTrailLogs = _auditTrailProvider.QueryAuditLogs(searchString, paging).ToList(); return(View(auditTrailViewModel)); } auditTrailViewModel.AuditTrailLogs = _auditTrailProvider.QueryAuditLogs(searchString).ToList(); return(View(auditTrailViewModel)); }
public IEnumerable <T> QueryAuditLogs(string filter = "*", AuditTrailPaging auditTrailPaging = null) { var from = 0; var size = 10; EnsureAlias(); if (auditTrailPaging != null) { from = auditTrailPaging.Skip; size = auditTrailPaging.Size; if (size > 1000) { // max limit 1000 items size = 1000; } } var searchRequest = new SearchRequest <T>(Indices.Parse(_alias)) { Size = size, From = from, Query = new QueryContainer( new SimpleQueryStringQuery { Query = filter } ), Sort = new List <ISort> { new FieldSort { Field = TimestampField, Order = SortOrder.Descending } } }; var searchResponse = _elasticClient.Search <T>(searchRequest); return(searchResponse.Documents); }