public async Task <Device> ImportInitializeDeviceTwin(string deviceId, DeviceTwinImportModel tags) { Device device = await _DeviceTwinRepo.ImportInitializeDeviceTwin(deviceId, tags); if (device != null) { //Update cache _Cache.EnsureDeviceEntity(deviceId, tags); } return(device); }
public void EnsureDeviceEntity(string deviceId, DeviceTwinImportModel tags) { //Update cache DeviceTwinFlatModel deviceEntity = null; bool result = DevicesDB.Devices.TryGetValue(deviceId, out deviceEntity); if (!result) { deviceEntity = DevicesDB.Devices.GetOrAdd(deviceId, new DeviceTwinFlatModel()); } deviceEntity.ProductFamily = tags.ProductFamily; deviceEntity.ProductName = tags.ProductName; deviceEntity.RetailerName = tags.RetailerName; deviceEntity.RetailerRegion = tags.RetailerRegion; }
public async Task <Device> ImportInitializeDeviceTwin(string deviceId, DeviceTwinImportModel tags) { try { Device device = await CreateDevice(deviceId); if (device != null) { await UpdateDeviceSync(device.Id, null, JsonConvert.SerializeObject(tags)); return(device); } return(null); } catch (Exception e) { Log.Error("Create IoTHub Device {@error}", e.Message); throw e; } }