Esempio n. 1
0
        private Task <string> GetReportHandlerAsync(string jsonParam)
        {
            Debug.WriteLine("DeviceHealthAttestationHandler.GetReportHandlerAsync");

            var response = new { response = "succeeded", reason = "" };

            try
            {
                var param   = JsonConvert.DeserializeObject <DeviceHealthAttestationDataContract.GetReportMethodParam>(jsonParam);
                var request = new Message.DeviceHealthAttestationGetReportRequest();
                request.Nonce = param.Nonce;
                // Submit the work and return immediately.
                GetReportHandlerAsync(request).FireAndForget();
            }
            catch (Exception e)
            {
                response = new { response = "rejected:", reason = e.Message };
            }

            return(Task.FromResult(JsonConvert.SerializeObject(response)));
        }
Esempio n. 2
0
        private async Task GetReportHandlerAsync(Message.DeviceHealthAttestationGetReportRequest request)
        {
            try
            {
                var response = await _systemConfiguratorProxy.SendCommandAsync(request) as Message.DeviceHealthAttestationGetReportResponse;

                var report = new DeviceHealthAttestationDataContract.HealthReport()
                {
                    CorrelationId     = response.CorrelationId,
                    HealthCertificate = response.HealthCertificate
                };
                var json = JsonConvert.SerializeObject(report);

                var properties = new Dictionary <string, string>();
                properties.Add("MessageType", DeviceHealthAttestationDataContract.HealthReportTag);
                await _callback.SendMessageAsync(json, properties);
                await ReportStatus("Reported");
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Get report failed with exception: {e}");
                await ReportStatus($"Get report failed with exception: {e.Message}");
            }
        }