| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- namespace practiceApplicaiton;
- public partial class ClientEditPage : ContentPage
- {
- private readonly Client? _client;
- private List<TourFirm> _firms = [];
- public ClientEditPage(Client? client)
- {
- InitializeComponent();
- _client = client;
- Title = client == null ? "Новый клиент" : "Редактировать клиента";
- }
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- _firms = await Repository.GetFirmsAsync();
- FirmPicker.ItemsSource = _firms.Select(f => f.FirmName).ToList();
- if (_client != null)
- {
- LastNameEntry.Text = _client.LastName;
- FirstNameEntry.Text = _client.FirstName;
- PatronymicEntry.Text = _client.Patronymic;
- PhoneEntry.Text = _client.PhoneNumber;
- FirmPicker.SelectedIndex = _firms.FindIndex(f => f.FirmId == _client.FirmId);
- }
- }
- private async void OnSaveClicked(object sender, EventArgs e)
- {
- if (string.IsNullOrWhiteSpace(LastNameEntry.Text) ||
- string.IsNullOrWhiteSpace(FirstNameEntry.Text) ||
- string.IsNullOrWhiteSpace(PhoneEntry.Text) ||
- FirmPicker.SelectedIndex < 0)
- {
- await DisplayAlert("Ошибка", "Заполните все обязательные поля", "OK");
- return;
- }
- var c = new Client
- {
- ClientId = _client?.ClientId ?? 0,
- FirmId = _firms[FirmPicker.SelectedIndex].FirmId,
- LastName = LastNameEntry.Text.Trim(),
- FirstName = FirstNameEntry.Text.Trim(),
- Patronymic = PatronymicEntry.Text?.Trim() ?? "",
- PhoneNumber = PhoneEntry.Text.Trim(),
- };
- try
- {
- if (_client == null) await Repository.AddClientAsync(c);
- else await Repository.UpdateClientAsync(c);
- await Navigation.PopAsync();
- }
- catch (Exception ex) { await DisplayAlert("Ошибка", ex.Message, "OK"); }
- }
- }
|