private void BuildFilters(RemoteSystemDiscoveryTypeFilter discoveryFilter, RemoteSystemAuthorizationKindFilter authorizationKindFilter, RemoteSystemStatusTypeFilter statusFilter) { var filters = new List <IRemoteSystemFilter>(); if (discoveryFilter != null) { filters.Add(discoveryFilter); } if (authorizationKindFilter != null) { filters.Add(authorizationKindFilter); } if (statusFilter != null) { filters.Add(statusFilter); } var remoteDeviceHelper = new RemoteDeviceHelper(filters); RemoteSystems = remoteDeviceHelper.RemoteSystems; UpdateProgressRing(true); UpdateList(); }
private void Filters_SelectionChanged(object sender, SelectionChangedEventArgs e) { _discoveryFilter = new RemoteSystemDiscoveryTypeFilter((RemoteSystemDiscoveryType)Enum.Parse(typeof(RemoteSystemDiscoveryType), _deviceDiscovery?.SelectedValue.ToString())); _authorizationKindFilter = new RemoteSystemAuthorizationKindFilter((RemoteSystemAuthorizationKind)Enum.Parse(typeof(RemoteSystemAuthorizationKind), _authorizationType?.SelectedValue.ToString())); _statusFilter = new RemoteSystemStatusTypeFilter((RemoteSystemStatusType)Enum.Parse(typeof(RemoteSystemStatusType), _deviceStatus?.SelectedValue.ToString())); BuildFilters(_discoveryFilter, _authorizationKindFilter, _statusFilter); }
/// <summary> /// Initializes a new instance of the <see cref="RemoteDevicePicker"/> class with filters. /// </summary> public RemoteDevicePicker(RemoteSystemDiscoveryType remoteSystemDiscoveryType, RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, RemoteSystemStatusType remoteSystemStatusType) { DefaultStyleKey = typeof(RemoteDevicePicker); RemoteSystems = new ObservableCollection <RemoteSystem>(); PrimaryButtonClick += RemoteDevicePicker_PrimaryButtonClick; _discoveryFilter = new RemoteSystemDiscoveryTypeFilter(remoteSystemDiscoveryType); _authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(remoteSystemAuthorizationKind); _statusFilter = new RemoteSystemStatusTypeFilter(remoteSystemStatusType); }
/// <summary> /// Initiate Enumeration with specific RemoteSystemStatusType /// </summary> private void GenerateSystemsByFilters(RemoteSystemStatusType remoteSystemStatusType, RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, RemoteSystemDiscoveryType remoteSystemDiscoveryType) { var remoteSystemStatusTypeFilter = new RemoteSystemStatusTypeFilter(remoteSystemStatusType); var remoteSystemDiscoveryTypeFilter = new RemoteSystemDiscoveryTypeFilter(remoteSystemDiscoveryType); var remoteSystemAuthorizationKindFilter = new RemoteSystemAuthorizationKindFilter(remoteSystemAuthorizationKind); var filters = new List <IRemoteSystemFilter>(); if (remoteSystemStatusTypeFilter != null) { filters.Add(remoteSystemStatusTypeFilter); } if (remoteSystemDiscoveryTypeFilter != null) { filters.Add(remoteSystemDiscoveryTypeFilter); } if (remoteSystemAuthorizationKindFilter != null) { filters.Add(remoteSystemAuthorizationKindFilter); } GenerateSystemsWithFilterAsync(filters); }
private List <IRemoteSystemFilter> BuildFilters() { List <IRemoteSystemFilter> filters = new List <IRemoteSystemFilter>(); RemoteSystemDiscoveryTypeFilter discoveryFilter; RemoteSystemAuthorizationKindFilter authorizationKindFilter; List <string> kinds = new List <string>(); RemoteSystemStatusTypeFilter statusFilter; if (DiscoveryTypeOptions.IsChecked.Value) { // Build discovery type filters if (ProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); } else if (CloudRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Cloud); } else if (SpatiallyProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.SpatiallyProximal); } else { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Any); } filters.Add(discoveryFilter); } if (AuthorizationTypeOptions.IsChecked.Value) { // Build authorization type filters if (AnonymousDiscoveryRadioButton.IsChecked.Value) { authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(RemoteSystemAuthorizationKind.Anonymous); } else { authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(RemoteSystemAuthorizationKind.SameUser); } filters.Add(authorizationKindFilter); } if (SystemTypeOptions.IsChecked.Value) { // Build system type filters if (DesktopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Desktop); } if (TabletCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Tablet); } if (LaptopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Laptop); } if (IotCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Iot); } if (HolographicCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Holographic); } if (HubCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Hub); } if (PhoneCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Phone); } if (XboxCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Xbox); } if (kinds.Count == 0) { UpdateStatus("Select a system type filter.", NotifyType.ErrorMessage); } else { RemoteSystemKindFilter kindFilter = new RemoteSystemKindFilter(kinds); filters.Add(kindFilter); } } if (StatusTypeOptions.IsChecked.Value) { // Build status type filters if (AvailableRadioButton.IsChecked.Value) { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); } else { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Any); } filters.Add(statusFilter); } return(filters); }