/// <summary> /// SelectionChanged de la combobox PlateForme /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ComboBoxPlateForme_SelectionChangedEvent(object sender, SelectionChangedEventArgs e) { ComboBox ComboBoxPlateForme = (ComboBox)sender; if (ComboBoxPlateForme.SelectedItem == null) { ReinitialiserListeAux(); ReinitialiserCombobox(); return; } var PlateFormeSelectionnée = (ComboBoxItem)ComboBoxPlateForme.SelectedItem; //Prend l'élément sélectionné de la combobox var Content = (string)PlateFormeSelectionnée.Content; //Convertit l'élement selectionné en string PlateForme plateForme = (PlateForme)Enum.Parse(typeof(PlateForme), Content); //Convertit le string Content en Enum Plateforme contenu dans la variable plateForme Manager.ListeJeuxAux = Tris.TriPlateForme(plateForme, Manager.ListeJeuxAux); //Mets dans la ListeJeuxAux, les jeux possedant la PlateForme selectionnée par l'utilisateur if (Manager.ListeJeuxAux.Count() == 0) //Si pas de jeux trouvé pour la PlateForme sélectionnée alors remise à 0 de la ListeJeuxAux { ReinitialiserListeAux(); ReinitialiserCombobox(); MessageBox.Show("Aucun jeu ne correspond à votre recherche. Veuillez réessayez avec un autre critère.", "Erreur recherche", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Méthode qui tri ListeJeuxAux en fonction de la plateforme rentré par l'utilisateur /// </summary> /// <param name="plateForme"></param> /// <param name="listeJeuxAux"></param> /// <returns>Liste triée</returns> public static ObservableCollection <JeuVidéo> TriPlateForme(PlateForme plateForme, ObservableCollection <JeuVidéo> listeJeuxAux) { return(listeJeuxAux = new ObservableCollection <JeuVidéo>(listeJeuxAux.Where(jeu => jeu.ListePlateFormes.Contains(plateForme)).ToList())); //Retourne la listeJeuxAux trié par plateforme }