ChatterBox.Client.Presentation.Shared.ViewModels.SettingsViewModel.SetSelectedCapResItem C# (CSharp) Method

SetSelectedCapResItem() public method

public SetSelectedCapResItem ( ) : void
return void
        void SetSelectedCapResItem()
        {
            if (AllCapFPS == null)
            {
                AllCapFPS = new ObservableCollection<CaptureCapability>();
            }
            else
            {
                AllCapFPS.Clear();
            }
            var opCap = GetVideoCaptureCapabilities(SelectedCamera);
            opCap.ContinueWith(caps =>
            {
                var fpsList = from cap in caps.Result.Capabilities where cap.ResolutionDescription == SelectedCapResItem select cap;
                var t = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                    () =>
                    {
                        CaptureCapability defaultFPS = null;
                        uint selectedCapFPSFrameRate = 0;
                        if (_localSettings.Values[SelectedFrameRateId] != null)
                        {
                            selectedCapFPSFrameRate = (uint)_localSettings.Values[SelectedFrameRateId];
                        }

                        foreach (var fps in fpsList)
                        {
                            if (selectedCapFPSFrameRate != 0 && fps.FrameRate == selectedCapFPSFrameRate)
                            {
                                defaultFPS = fps;
                            }
                            AllCapFPS.Add(fps);
                            if (defaultFPS == null)
                            {
                                defaultFPS = fps;
                            }
                        }
                        SelectedCapFPSItem = defaultFPS;
                        _mediaSettings.SetPreferredVideoCaptureFormat(new VideoCaptureFormat((int)SelectedCapFPSItem.Width,
                                                                      (int)SelectedCapFPSItem.Height,
                                                                      (int)SelectedCapFPSItem.FrameRate));
                    });
                var uiTask = _dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() =>
                {
                    OnPropertyChanged(nameof(AllCapFPS));
                }));
            });
        }