public async Task <IReadOnlyCollection <EntityLog> > SearchEntityLogs(EntitySearchModel entityFilter) { entityFilter.BeginDate = entityFilter.BeginDate == null?DateTime.Parse("01/01/1900") : entityFilter.BeginDate; entityFilter.EndDate = entityFilter.EndDate == null ? DateTime.Now : entityFilter.EndDate; var response = elasticClient.Search <EntityLog>(s => s .From(entityFilter.Page) .Size(entityFilter.RowCount) .Sort(ss => ss.Descending(p => p.DateChanged)) .Query(q => q .Bool(b => b .Must( q => q.Term(t => t.UserId, entityFilter.UserId), q => q.Term(t => t.EntityName.ToFilter(), entityFilter.EntityName.ToFilter()), q => q.Term(t => t.PrimaryKeyValue, entityFilter.PrimaryKeyValue), q => q.Term(t => t.State, entityFilter.State), q => q.DateRange(r => r .Field(f => f.DateChanged) .GreaterThanOrEquals(DateMath.Anchored(((DateTime)entityFilter.BeginDate).AddDays(-1))) .LessThanOrEquals(DateMath.Anchored(((DateTime)entityFilter.EndDate).AddDays(1))) )) ) ) .Index(IndexType.entity_log.ToString()) ); return(response.Documents); }
/// <summary> /// Search page. /// </summary> /// <param name="actionName">Action name that jump to after search.</param> /// <returns></returns> public virtual Task <ActionResult> GetSearchAction(string actionName = "Index") { EntitySearchModel <TEntity> model = new EntitySearchModel <TEntity>(); Controller.ViewBag.Action = actionName; return(Task.FromResult(GetView(model))); }
public virtual ActionResult Search() { if (!Metadata.ViewRoles.All(t => User.IsInRole(t))) { return(new HttpStatusCodeResult(403)); } EntitySearchModel <TEntity> model = new EntitySearchModel <TEntity>(); return(View(model)); }
/// <summary> /// Search page. /// </summary> /// <param name="actionName">Action name that jump to after search.</param> /// <returns></returns> public virtual Task <ActionResult> GetSearchAction(string actionName = "Index") { return(Task.Run <ActionResult>(() => { if (!Metadata.ViewRoles.All(t => Controller.User.IsInRole(t))) { return new HttpUnauthorizedResult(); } EntitySearchModel <TEntity> model = new EntitySearchModel <TEntity>(); Controller.ViewBag.Action = actionName; return GetView(model); })); }
public async Task <IActionResult> SearchEntityLogs(EntitySearchModel entityFilter) { var result = await elasticSearchService.SearchEntityLogs(entityFilter); return(Ok(result)); }