public async Task <PaginatedResult <ListAuditResponseDetail> > Handle(ListAuditRequest request, CancellationToken cancellationToken) { var total = await _storeDbContext .History .CountAsync(cancellationToken); var history = await _storeDbContext.History .OrderByDescending(h => h.CreatedAt) .Skip(request.PageIndex * request.PageCount) .Take(request.PageCount) .ToListAsync(cancellationToken); return(new PaginatedResult <ListAuditResponseDetail>() { Count = history.Count, Total = total, PageIndex = request.PageIndex, Items = history.Select(h => new ListAuditResponseDetail { CreatedAt = h.CreatedAt, Action = h.Action, FeatureName = h.FeatureName, ProductName = h.ProductName, OldValues = h.OldValues, NewValues = h.NewValues }).ToList() }); }
public ListAuditResponse Get(ListAuditRequest request) { var Validation = new ValidateListAudit(); var Valid = Validation.Validate(request); if (!Valid.IsValid) { return(new ListAuditResponse() { Message = Valid.Errors.Select(A => A.ErrorMessage).Join("\n"), Success = false }); } AppUser User = this.GetCurrentAppUser(); var Audits = Db.Select(Db.From <Audit>().OrderBy(A => A.Id).Skip(request.Skip).Take(50)); var CountOf = Db.Count <Audit>(); return(new ListAuditResponse() { Success = true, Total = CountOf, Audits = Audits }); }
public async Task <ActionResult <PaginatedResult <ListAuditResponseDetail> > > List([FromQuery] ListAuditRequest request, CancellationToken cancellationToken = default) { var list = await _mediator.Send(request, cancellationToken); return(Ok(list)); }