示例#1
0
 public async Task SendTwinPatchAsync(string connectionId, Models.Twin props)
 {
     Console.WriteLine("SendTwinPatchAsync received for " + connectionId);
     Console.WriteLine(JsonConvert.SerializeObject(props));
     var            client        = objectMap[connectionId];
     TwinCollection reportedProps = new TwinCollection(props.Reported as JObject, null);
     await client.UpdateReportedPropertiesAsync(reportedProps).ConfigureAwait(false);
 }
示例#2
0
        public async Task PatchModuleTwin(string connectionId, string deviceId, string moduleId, Models.Twin twin)
        {
            Debug.WriteLine("RegistryTwinPatchPutAsync received for {0} with deviceId {1} and moduleId {2}", connectionId, deviceId, moduleId);
            Debug.WriteLine(JsonConvert.SerializeObject(twin));
            var client = objectMap[connectionId] as RegistryManager;

            Debug.WriteLine("Patching twin");
            var registryTwin = new Microsoft.Azure.Devices.Shared.Twin {
                Properties = new TwinProperties {
                    Desired = new TwinCollection(twin.Desired as JObject, null)
                }
            };
            await client.UpdateTwinAsync(deviceId, moduleId, registryTwin, "*").ConfigureAwait(false);

            Debug.WriteLine("patch complete");
        }