Esempio n. 1
0
        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()
            });
        }
Esempio n. 2
0
        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
            });
        }
Esempio n. 3
0
        public async Task <ActionResult <PaginatedResult <ListAuditResponseDetail> > > List([FromQuery] ListAuditRequest request, CancellationToken cancellationToken = default)
        {
            var list = await _mediator.Send(request, cancellationToken);

            return(Ok(list));
        }