/// <summary> /// 用于检索云搜中的数据。 /// </summary> /// <param name="req"><see cref="DataSearchRequest"/></param> /// <returns><see cref="DataSearchResponse"/></returns> public DataSearchResponse DataSearchSync(DataSearchRequest req) { JsonResponseModel <DataSearchResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "DataSearch"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <DataSearchResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public async Task <ActionResult <ListResponse <ChartbusterViewModel> > > GetChartbusters([FromQuery] DataSearchRequest request) { if (!ModelState.IsValid) { return(BadRequest(new BadResponse <ModelError> { Success = false, Errors = ModelState.SelectMany(s => s.Value.Errors).ToList() })); } var query = chartbustersRepository.FindAll(); if (request.OrderBy == "name" && request.OrderByAsc) { query = query.OrderBy(o => o.Name); } else if (request.OrderBy == "name") { query = query.OrderByDescending(o => o.Name); } var total = query.Count(); if (request.Search != null && request.Search.Trim().Length > 0) { var search = request.Search.Trim().ToLower(); query = query.Where(w => w.Name.ToLower().StartsWith(search)); } var filtered = query.Count(); var data = await query.Skip(request.Start.Value).Take(request.Count.Value).Select(s => autoMapper.Map <ChartbusterViewModel>(s)).ToListAsync(); return(Ok(new ListResponse <ChartbusterViewModel> { Data = data, Total = total, Filtered = filtered })); }