using Model.Stub; using Plugin.Maui.Audio; using Model.Classes; using Model.Managers; namespace Ohara; public partial class PageBateau : ContentPage { public Manager manager => (App.Current as App).manager; public PageBateau() { InitializeComponent(); BindingContext = manager; void OnTextChanged(object sender, EventArgs e) { SearchBar searchBar = (SearchBar)sender; listeBateau.ItemsSource = manager.RechercheObjetOhara(searchBar.Text, new List(manager.Bateaux.ToList())); } searchBar.TextChanged += OnTextChanged; } async void listeBateau_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.CurrentSelection.Count == 0) return; manager.SelectedItem = (Bateau)listeBateau.SelectedItem; await Shell.Current.GoToAsync(nameof(PageInfoBateau)); } private async void Button_Clicked(object sender, EventArgs e) { manager.SelectedItem = null; await Shell.Current.GoToAsync(nameof(ModalBateau)); } private void PickerFiltre_SelectedIndexChanged(object sender, EventArgs e) { var picker = (Picker)sender; int selectedIndex = picker.SelectedIndex; if (selectedIndex != -1) { listeBateau.ItemsSource = manager.FiltrerBateau(((Equipage)picker.ItemsSource[selectedIndex]).Nom); } } private void ContentPage_Appearing(object sender, EventArgs e) { manager.SelectedItem = null; listeBateau.SelectedItem = null; } }