public async Task<IResponse<IList<Device>>> Get(GetDevicesRequest request)
        {
            var devices = await this.deviceRepository.GetAllAsync();

            return
                ResponseFactory.CreateResponse<GetDevicesResponse, IList<Device>>(
                    await this.EnumerateDeviceStateById(devices.Select(x => x.Id)));
        }
        /// <summary>
        /// 提供分页查询某个产品Id下设备信息的能力。
        /// </summary>
        /// <param name="req">参考<see cref="GetDevicesRequest"/></param>
        /// <returns>参考<see cref="GetDevicesResponse"/>实例</returns>
        public async Task <GetDevicesResponse> GetDevices(GetDevicesRequest req)
        {
            JsonResponseModel <GetDevicesResponse> rsp = null;

            try
            {
                var strResp = await this.InternalRequest(req, "GetDevices");

                rsp = JsonConvert.DeserializeObject <JsonResponseModel <GetDevicesResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Exemple #3
0
        public Task <Device[]> GetDevicesAsync(GetDevicesRequest request           = null,
                                               CancellationToken cancellationToken = new CancellationToken())
        {
            if (request == null)
            {
                request = new GetDevicesRequest();
            }

            dynamic query = new ExpandoObject();

            if (request?.ApplicationId != null)
            {
                query.applicationId = request.ApplicationId.Value;
            }

            return(_client.MakeJsonRequestAsync <Device[]>(cancellationToken, HttpMethod.Get, ResourceUrls.Devices,
                                                           (object)query));
        }
        protected override async Task <int> ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
        {
            //Get the application
            var application = await context.FindApplicationAsync(Application, cancellationToken);

            if (application == null)
            {
                return(1);
            }

            var request = new GetDevicesRequest
            {
                ApplicationId = application.Id
            };

            var devices = await context.Client.Devices.GetDevicesAsync(request, cancellationToken);

            devices.DisplayEntities(d => $"{d.Id:D}: {d.Name}");

            return(0);
        }