| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- namespace practiceApplicaiton;
- public partial class BookingsPage : ContentPage
- {
- private Booking? _selected;
- public bool CanEdit => Database.IsAdmin;
- public BookingsPage()
- {
- InitializeComponent();
- BindingContext = this;
- }
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- await LoadAsync();
- }
- private async Task LoadAsync(string search = "")
- {
- try
- {
- var data = await Repository.GetBookingsAsync(search);
- BookingsList.ItemsSource = data;
- }
- catch (Exception ex)
- {
- await DisplayAlert("Ошибка", ex.Message, "OK");
- }
- }
- private async void OnSearchChanged(object sender, TextChangedEventArgs e)
- => await LoadAsync(e.NewTextValue);
- private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- _selected = e.CurrentSelection.FirstOrDefault() as Booking;
- EditButton.IsEnabled = _selected != null;
- DeleteButton.IsEnabled = _selected != null;
- }
- private async void OnAddClicked(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new BookingEditPage(null));
- await LoadAsync();
- }
- private async void OnEditClicked(object sender, EventArgs e)
- {
- if (_selected == null) return;
- await Navigation.PushAsync(new BookingEditPage(_selected));
- await LoadAsync();
- }
- private async void OnDeleteClicked(object sender, EventArgs e)
- {
- if (_selected == null) return;
- bool confirm = await DisplayAlert("Удалить",
- $"Удалить бронирование #{_selected.BookingId}?", "Да", "Отмена");
- if (!confirm) return;
- try
- {
- await Repository.DeleteBookingAsync(_selected.BookingId);
- await LoadAsync();
- }
- catch (Exception ex)
- {
- await DisplayAlert("Ошибка", ex.Message, "OK");
- }
- }
- }
|