public async Task <PaginatedResponseModel <AppAuditLogModel> > SearchAsync( AppAuditLogSearchModel model ) { var startDate = model.startDate.GetValueOrDefault(DateTime.Today); var endDate = model.endDate.GetValueOrDefault(DateTime.Today).AddDays(1); var query = Session.Query <AppAuditLog>().Where( log => log.StartAt >= startDate && log.StartAt < endDate ); if (model.UserName.IsNotNullOrEmpty()) { var userName = model.UserName; query = query.Where(log => log.UserName.Contains(userName)); } var total = await query.LongCountAsync(); var data = await query.OrderByDescending(e => e.Id) .Skip(model.Skip) .Take(model.Take) .ToListAsync(); return(new PaginatedResponseModel <AppAuditLogModel> { Total = total, Data = Mapper.Map <IList <AppAuditLogModel> >(data), Skip = model.Skip, Take = model.Take }); }
public async Task <ActionResult <PaginatedResponseModel <AppAuditLogModel> > > GetAll( [FromQuery] AppAuditLogSearchModel model ) { try { var result = await repository.SearchAsync(model); return(result); } catch (Exception ex) { logger.LogError(ex, $"Can not search app_audit_logs with {model.ToJson()}."); return(this.InternalServerError(ex)); } }