コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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
            }));
        }