public static IQueryable <QCDevice> Sort(this IQueryable <QCDevice> query, QCDeviceQuerySort model) { foreach (var s in model._sortsArr) { var asc = s[0] == 'a'; var fieldName = s.Remove(0, 1); switch (fieldName) { case QCDeviceQuerySort.CODE: { query = asc ? query.OrderBy(o => o.Code) : query.OrderByDescending(o => o.Code); } break; } } return(query); }
public async Task <IActionResult> Get([FromQuery][QueryObject] QCDeviceQueryFilter filter, [FromQuery] QCDeviceQuerySort sort, [FromQuery] QCDeviceQueryProjection projection, [FromQuery] QCDeviceQueryPaging paging, [FromQuery] QCDeviceQueryOptions options) { var validationData = _service.ValidateGetQCDevices( User, filter, sort, projection, paging, options); if (!validationData.IsValid) { return(BadRequest(AppResult.FailValidation(data: validationData))); } var result = await _service.QueryQCDeviceDynamic( projection, options, filter, sort, paging); if (options.single_only && result == null) { return(NotFound(AppResult.NotFound())); } return(Ok(AppResult.Success(result))); }