/// <summary> /// Проводит проверку ОСП и отправку на сервер. /// </summary> private async void ValidateAndSendReceiptAsync() { // Провести валидацию объекта с получением списка ошибок. List <ValidationResult> results = SelectedOsp.Validate(new ValidationContext(SelectedOsp)).ToList(); // Если список ошибок не пустой, вывести эти ошибки. if (results.Any()) { foreach (var error in results) { Alert.Show(error.ErrorMessage, "Ошибка!", MessageBoxButton.OK); } } // Если ошибок нет. else { // Если ОСП новое. if (SelectedOsp.Id == 0) { // Отправить ОСП на сохранение в бд. await ServerConnect.Connection.InvokeAsync("AddOsp", SelectedOsp); } // Если ОСП существующее. else { // Отправить ОСП на сохранение в бд. await ServerConnect.Connection.InvokeAsync("UpdateOsp", SelectedOsp); } // Закрыть режим редактирования. CanEdit = false; // Сбросить выбранное ОСП. SelectedOsp = null; } }
/// <summary> /// Отменяет редактирование почты. /// </summary> private async void DiscardChangesAsync() { // Отменить режим редактирования. CanEdit = false; // Если ОСП новое. if (SelectedOsp.Id == 0) { // Сбросить выбранное ОСП. SelectedOsp = null; } else { // Отправить запрос на закрытие документа. await ServerConnect.Connection.InvokeAsync("CloseDocument", SelectedOsp.Id, SelectedOsp.GetType().Name, Data.UserData.CurrentUser.Osp.Id); // Отправить запрос на получение ОСП. await ServerConnect.Connection.InvokeAsync("GetOsp", SelectedOsp.Id); } }