Exemple #1
0
        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
            });
        }
Exemple #2
0
    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));
        }
    }