public async Task <User> CreateUser(Consent consent, string?jobId, CancellationToken cancellationToken) { Ref[] devices; try { devices = await vendorClient.FetchDevices(consent.UserId, cancellationToken); } catch (H3Exception ex) { log.LogWarning("Ignoring exception {exception} when fetching devices for user {userId}", ex, consent.UserId); devices = Array.Empty <Ref>(); } var connectedDevices = new List <Ref>(); var disconnectedDevices = new List <Ref>(); var consentedDevices = consent?.Devices; foreach (var device in devices) { if (consentedDevices != null && consentedDevices.Contains(device.Identifier)) { connectedDevices.Add(device); } else { disconnectedDevices.Add(device); } } return(new User { ConnectedDevices = connectedDevices.ToArray(), DisconnectedDevices = disconnectedDevices.ToArray(), JobId = jobId, }); }