/// <summary> /// Permet de sélectionner toutes les oeuvres, et donc de les ajouter à AjouterA /// </summary> /// <param name="sender">L'object qui lève l'événement</param> /// <param name="e">Arguments de l'événement</param> private void ToutCocher_Click(object sender, RoutedEventArgs e) { for (int i = 0; i < lItemsControl.Items.Count; i++) { ContentPresenter contentPresenter = (ContentPresenter)lItemsControl.ItemContainerGenerator.ContainerFromItem(LesOeuvres.ElementAt(i)); Button leBouton = contentPresenter.ContentTemplate.FindName("leBoutonOeuvre", contentPresenter) as Button; PackIcon lIcone = contentPresenter.ContentTemplate.FindName("lIcone", contentPresenter) as PackIcon; leBouton.BorderBrush = new SolidColorBrush(Color.FromRgb(43, 120, 228)); lIcone.Kind = PackIconKind.TickCircleOutline; lIcone.Foreground = new SolidColorBrush(Color.FromRgb(43, 120, 228)); AAjouter.Add(LesOeuvres.ElementAt(i)); } }
/// <summary> /// Permet d'ajouter ou retirer une oeuvre de AjouterA, ainsi que de modifier l'affichage suivant si l'utilisateur l'a sélectionnée ou non /// </summary> /// <param name="sender">L'object qui lève l'événement</param> /// <param name="e">Arguments de l'événement</param> private void Oeuvre_Click(object sender, RoutedEventArgs e) { if (sender == null) { return; } //Si l'oeuvre n'est pas sélectionnée if ((sender as Button).BorderBrush == Brushes.LightGray) { (sender as Button).BorderBrush = new SolidColorBrush(Color.FromRgb(43, 120, 228)); PackIcon lIcone = (PackIcon)(sender as Button).FindName("lIcone"); lIcone.Kind = PackIconKind.TickCircleOutline; lIcone.Foreground = new SolidColorBrush(Color.FromRgb(43, 120, 228)); //Permet de récupérer le nom de l'oeuvre TextBlock leTextBlock = (TextBlock)(sender as Button).FindName("leTextBlock"); AAjouter.Add(LesOeuvres.Where(oeuvre => oeuvre.Nom.Equals(leTextBlock.Text as String)).FirstOrDefault()); } //Si l'oeuvre était déjà sélectionnée else { (sender as Button).BorderBrush = Brushes.LightGray; PackIcon lIcone = (PackIcon)(sender as Button).FindName("lIcone"); lIcone.Kind = PackIconKind.CircleOutline; lIcone.Foreground = Brushes.LightGray; //Permet de récupérer le nom de l'oeuvre TextBlock leTextBlock = (TextBlock)(sender as Button).FindName("leTextBlock"); AAjouter.Remove(LesOeuvres.Where(oeuvre => oeuvre.Nom.Equals(leTextBlock.Text as String)).FirstOrDefault()); } }
/// <summary> /// Permet de trier l'affichage des oeuvres suivant ce que l'utilisateur a souhaité /// </summary> public void TrierOeuvres() { if (ordreTri == null || duType == null) { return; } TypeOeuvre leTypeOeuvre = TypeOeuvre.Tout; var lesOeuvres = new ObservableCollection <Oeuvre>(); LesOeuvres.ForEach(oeuvre => lesOeuvres.Add(oeuvre)); //Sélectionne le type des oeuvres à afficher if (duType.SelectedItem.ToString().Contains("Film")) { leTypeOeuvre = TypeOeuvre.Film; } else if (duType.SelectedItem.ToString().Contains("Série")) { leTypeOeuvre = TypeOeuvre.Série; } else if (duType.SelectedItem.ToString().Contains("Livre")) { leTypeOeuvre = TypeOeuvre.Livre; } else if (duType.SelectedItem.ToString().Contains("Scan")) { leTypeOeuvre = TypeOeuvre.Scan; } else if (duType.SelectedItem.ToString().Contains("Animé")) { leTypeOeuvre = TypeOeuvre.Animé; } else if (duType.SelectedItem.ToString().Contains("Autre")) { leTypeOeuvre = TypeOeuvre.Autre; } //Tri les oeuvres suivant ce que l'utilisateur a sélectionné if (ordreTri.SelectedItem.ToString().Contains("Décroissant")) { lesOeuvres = lesOeuvres.OeuvresDuType(leTypeOeuvre).TriDécroissant(); } else if (ordreTri.SelectedItem.ToString().Contains("Type")) { lesOeuvres = lesOeuvres.OeuvresDuType(leTypeOeuvre).TriType(); } else if (ordreTri.SelectedItem.ToString().Contains("Date")) { lesOeuvres = lesOeuvres.OeuvresDuType(leTypeOeuvre).TriDate(); } else { lesOeuvres = lesOeuvres.OeuvresDuType(leTypeOeuvre).TriCroissant(); } //Met à jour l'affichage Bibliothèque.LesOeuvres.Clear(); lesOeuvres.ToList().ForEach(oeuvre => Bibliothèque.AjouterOeuvre(oeuvre)); CocherSélectionnées(); }
/// <summary> /// Permet de décocher toutes les oeuvres sélectionnées, et donc les retirer de AjouterA /// </summary> public void ToutDécocher() { for (int i = 0; i < Manager.BibliothèqueSélectionnée.NombreOeuvre(); i++) { ContentPresenter contentPresenter = (ContentPresenter)lItemsControl.ItemContainerGenerator.ContainerFromItem(LesOeuvres.ElementAt(i)); if (contentPresenter == null) { return; } Button leBouton = contentPresenter.ContentTemplate.FindName("leBoutonOeuvre", contentPresenter) as Button; PackIcon lIcone = contentPresenter.ContentTemplate.FindName("lIcone", contentPresenter) as PackIcon; leBouton.BorderBrush = Brushes.LightGray; lIcone.Kind = PackIconKind.CircleOutline; lIcone.Foreground = Brushes.LightGray; } AAjouter.Clear(); }