예제 #1
0
        public IActionResult GetJobs(
            [FromRoute, Required] string device,
            [FromQuery, Optional] PaginationRequestDto paginationDto,
            [FromQuery, Optional] SortRequestDto sortDto,
            [FromQuery, Optional] AdvancedFilterRequestDto filterRequestDto)
        {
            try
            {
                var deviceId   = new DeviceId(device);
                var filter     = AdvancedFilterRequestDto.ParseFilterRequest(filterRequestDto);
                var pagination = PaginationRequestDto.MapPaginationRequest(paginationDto);
                var sort       = SortRequestDto.MapSortRequest(sortDto);

                var jobEntries = _jobModel.GetJobs(deviceId, pagination, sort, filter);

                return(Json(jobEntries));
            }
            catch (Exception e)
            {
                return(ResolveException(e));
            }
        }