| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- namespace practiceApplicaiton;
- public partial class ClientsPage : ContentPage
- {
- private Client? _selected;
- public ClientsPage() => InitializeComponent();
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- await LoadAsync();
- }
- private async Task LoadAsync(string search = "")
- {
- try { ClientsList.ItemsSource = await Repository.GetClientsAsync(search); }
- 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 Client;
- EditButton.IsEnabled = DeleteButton.IsEnabled = _selected != null;
- }
- private async void OnAddClicked(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new ClientEditPage(null));
- await LoadAsync();
- }
- private async void OnEditClicked(object sender, EventArgs e)
- {
- if (_selected == null) return;
- await Navigation.PushAsync(new ClientEditPage(_selected));
- await LoadAsync();
- }
- private async void OnDeleteClicked(object sender, EventArgs e)
- {
- if (_selected == null) return;
- bool ok = await DisplayAlert("Удалить",
- $"Удалить клиента {_selected.FullName}?", "Да", "Отмена");
- if (!ok) return;
- try
- {
- await Repository.DeleteClientAsync(_selected.ClientId);
- await LoadAsync();
- }
- catch (Exception ex) { await DisplayAlert("Ошибка", ex.Message, "OK"); }
- }
- }
|