private void UpdateDevices(AlertsResponse alertsResponse, IEnumerable <string> deviceIds) { Dictionary <string, Device> devices = new Dictionary <string, Device>(); foreach (var id in deviceIds) { devices.Add(id, new Device() { Id = id, Alerts = new ItemsDictionary <Alert>() }); } if (alertsResponse != null && alertsResponse.IsSuccessful && alertsResponse.Body.Alerts != null) { foreach (var alert in alertsResponse.Body.Alerts.Values) { string deviceId = alert.DeviceId; if (deviceId != null && devices.ContainsKey(deviceId)) { devices[deviceId].Alerts.Add(alert.Id, alert); } } foreach (var device in devices.Values) { DataCache.AddOrUpdate(device); } } }