Esempio n. 1
0
        public IActionResult GetTab(
            [FromRoute, Required] string device,
            [FromRoute, Required] string tab,
            [FromQuery] PaginationRequestDto paginationDto,
            [FromQuery] SortRequestDto sortDto,
            [FromQuery] AdvancedFilterRequestDto filterRequestDto)
        {
            try
            {
                var deviceId   = new DeviceId(device);
                var filter     = AdvancedFilterRequestDto.ParseFilterRequest(filterRequestDto);
                var pagination = PaginationRequestDto.MapPaginationRequest(paginationDto);
                var sort       = SortRequestDto.MapSortRequest(sortDto);

                var tabEntries = _DataModel.GetTab(deviceId, tab, pagination, sort, filter);

                return(Json(tabEntries));
            }
            catch (UnknownDeviceIdException e)
            {
                Logger.LogError("Exception while execution:", e);
                return(FormattedNotFound($"Device id not found."));
            }
            catch (UnknownKeyException e)
            {
                Logger.LogError("Exception while execution:", e);
                return(FormattedNotFound($"Key not found."));
            }
            catch (Exception e)
            {
                Logger.LogError("Exception while execution:", e);
                return(FormattedInternalServerError($"{nameof(e)} {e.Message}"));
            }
        }
 public void BuildQuery(NameValueCollection query, AdvancedFilterRequestDto filterRequest)
 {
     if (filterRequest == null)
     {
         return;
     }
     for (var i = 0; i < filterRequest.FilterBy.Length; i++)
     {
         query[$"FilterBy[{i}]"]        = filterRequest.FilterBy[i];
         query[$"FilterExcluding[{i}]"] = filterRequest.FilterExcluding[i].ToString();
         query[$"FilterString[{i}]"]    = filterRequest.FilterString[i];
     }
 }
        public async Task <ApiResponse <IEnumerable <TabEntryDto> > > GetDataTab(DeviceId device, string tab,
                                                                                 PaginationRequestDto paginationDto        = null,
                                                                                 SortRequestDto sortDto                    = null,
                                                                                 AdvancedFilterRequestDto filterRequestDto = null)
        {
            var query = HttpUtility.ParseQueryString("");

            BuildQuery(query, paginationDto);
            BuildQuery(query, sortDto);
            BuildQuery(query, filterRequestDto);
            var uri = $"/api/data/tab/{device.FullId}/{tab}?{query.ToString()}";

            return(await GetAllAsync <TabEntryDto>(uri));
        }
Esempio n. 4
0
        public IActionResult GetAllJobs(
            [FromQuery] SortRequestDto sortDto,
            [FromQuery] AdvancedFilterRequestDto filterRequestDto)
        {
            try
            {
                var filter = AdvancedFilterRequestDto.ParseFilterRequest(filterRequestDto);
                var sort   = SortRequestDto.MapSortRequest(sortDto);

                var jobEntries = _jobModel.GetAllJobs(sort, filter);

                return(Json(jobEntries));
            }
            catch (Exception e)
            {
                return(ResolveException(e));
            }
        }
Esempio n. 5
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));
            }
        }