Ejemplo n.º 1
0
        public PagedResponse <TaskLogDTO> Execute(SearchTaskLogDTO dto)
        {
            var logsQuery = Context.TaskLogs.AsQueryable();

            if (dto.DateFrom != null)
            {
                logsQuery = logsQuery.Where(l => l.Date >= dto.DateFrom);
            }

            if (dto.DateTo != null)
            {
                logsQuery = logsQuery.Where(l => l.Date <= dto.DateTo);
            }

            if (dto.DateFrom != null && dto.DateTo != null)
            {
                logsQuery = logsQuery.Where(l => l.Date >= dto.DateFrom)
                            .Where(l => l.Date <= dto.DateTo);
            }

            var skipCount = dto.PerPage * (dto.Page - 1);

            var logs = Mapper.Map <List <TaskLogDTO> >(logsQuery.Skip(skipCount).Take(dto.PerPage).ToList());

            var response = new PagedResponse <TaskLogDTO>
            {
                CurrentPage  = dto.Page,
                ItemsPerPage = dto.PerPage,
                TotalCount   = logsQuery.Count(),
                Items        = logs
            };

            return(response);
        }
Ejemplo n.º 2
0
 public IActionResult Get([FromQuery] SearchTaskLogDTO dto, [FromServices] IGetTaskLogQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, dto)));
 }