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); }
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"); }