示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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);
            }
        }