/// <summary> /// Проводит проверку картриджа и отправку на сервер. /// </summary> private async void ValidateAndSendReceiptAsync() { // Провести валидацию объекта с получением списка ошибок. List <ValidationResult> results = SelectedCartridge.Validate(new ValidationContext(SelectedCartridge)).ToList(); // Если список ошибок не пустой, вывести эти ошибки. if (results.Any()) { foreach (var error in results) { Alert.Show(error.ErrorMessage, "Ошибка!", MessageBoxButton.OK); } } // Если ошибок нет. else { // Если картридж новый. if (SelectedCartridge.Id == 0) { // Отправить картридж на сохранение в бд await ServerConnect.Connection.InvokeAsync("AddCartridge", SelectedCartridge); } // Если картридж существующий. else { // Отправить картридж на сохранение в бд await ServerConnect.Connection.InvokeAsync("UpdateCartridge", SelectedCartridge); } // Закрыть режим редактирования. CanEdit = false; // Сбросить выбранный картридж. SelectedCartridge = null; } }
public void AddPowder(string PowderName) { string lPwdrID; bool lLoaded = false; lPwdrID = LawlerBallisticsFactory.GetPowderID(PowderName); if (SelectedCartridge.PowderIDlist != null) { foreach (string lp in SelectedCartridge.PowderIDlist) { if (lp == lPwdrID) { lLoaded = true; break; } } } if (!lLoaded) { SelectedCartridge.PowderIDlist.Add(lPwdrID); } SelectedCartridge.Refresh(); RaisePropertyChanged(nameof(SelectedCartridgePowderList)); }
private void PwdrKeyUp(System.Windows.Input.KeyEventArgs e) { try { switch (e.Key) { case System.Windows.Input.Key.Delete: string lmsg = "Delete the selected powder option?"; string lcaption = "Delete Cartridge Powder Option"; MessageBoxButtons lbtns = MessageBoxButtons.YesNo; DialogResult lrst = MessageBox.Show(lmsg, lcaption, lbtns, MessageBoxIcon.Warning); if (lrst == DialogResult.Yes) { foreach (string lp in SelectedCartridge.PowderIDlist) { if (LawlerBallisticsFactory.GetPowderName(lp) == SelectedCartridgePowderName) { SelectedCartridge.PowderIDlist.Remove(lp); break; } } } SelectedCartridge.Refresh(); RaisePropertyChanged(nameof(SelectedCartridge)); RaisePropertyChanged(nameof(SelectedCartridgePowderList)); break; case System.Windows.Input.Key.OemPlus: break; } } catch { } }
/// <summary> /// Отменяет редактирование картриджа. /// </summary> private async void DiscardChangesAsync() { // Отменить режим редактирования. CanEdit = false; // Если картридж новый. if (SelectedCartridge.Id == 0) { // Сбросить выбранный картридж. SelectedCartridge = null; } else { // Отправить запрос на закрытие документа. await ServerConnect.Connection.InvokeAsync("CloseDocument", SelectedCartridge.Id, SelectedCartridge.GetType().Name, 0); // Отправить запрос на получение картриджа. await ServerConnect.Connection.InvokeAsync("GetCartridge", SelectedCartridge.Id); } }