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