private async Task OnCamerasUpdated() { var action = CamerasChanged; if (action != null) { var comparer = new ResolutionComparer(); var cameras = _cameras.Keys.OrderBy(x => x).Select(key => _cameras[key]).ToList(); IEnumerable<RemoteResolutionModel> resolutions = null; foreach (var c in cameras) { try { resolutions = resolutions ?? c.Resolutions; resolutions = resolutions.Intersect(c.Resolutions, comparer); } catch { } } await action(cameras, resolutions); } }
private async Task OnCamerasUpdated() { var action = CamerasChanged; if (action != null) { var comparer = new ResolutionComparer(); var cameras = _cameras.Values.ToList(); IEnumerable<RemoteResolutionModel> resolutions = null; foreach (var c in cameras) { resolutions = resolutions ?? c.Resolutions; resolutions = resolutions.Intersect(c.Resolutions, comparer); } await action(cameras, resolutions); } }