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);
        }
Exemplo n.º 2
0
        /// <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)));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
 /// <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));
        }