protected virtual async Task discardAsync() { if (UserInteracting.RequestAcknowledgement("Отмена калибровки", "Данные проведенных замеров будут стерты. -NL-NLПродолжить?")) { onDiscard(); await cancelMeasureAnywayAsync(); _calibrator.DiscardCalibration(); } }
async Task cancelMeasureAsync() { using (IsBusy.BusyMode) { if (!_preferences.RequestCancellationAcknowledgement || UserInteracting.RequestAcknowledgement("Прервать замер", "Данные текущего замера будут потеряны.-NL-NLПродолжить?")) { await cancelMeasureAnywayAsync(); } } }
public WriteFilesByDefaultVM(IRUSDevice device, BusyObject isBusy) { IsBusy = isBusy; WriteAllFilesByDefault = new ActionCommand(writeDefaultFiles, isBusy); SerialNumber.ModelValue = 1; Modification.ModelValue = "??"; async Task writeDefaultFiles() { using (isBusy.BusyMode) { SerialNumber.AssertValue(); Modification.AssertValue(); if (!UserInteracting.RequestAcknowledgement("Запись файлов по умолчанию", "Данная операция перезапишет все файлы файлами по умолчанию-NL-NLПродолжить?")) { return; } var hadError = false; var date = DateTime.UtcNow; foreach (var file in Files.Descriptors.Where(d => d.Key.TargetDeviceId == device.Id)) { var entities = file.Value.Descriptors.Select(d => d.FileDefaultDataEntity); entities = Files.SetBurnDate(entities, date); entities = Files.SetSerialNumber(entities, SerialNumber.ModelValue.ToInt32()); entities = Files.SetFileEntity(entities, FileEntityType.MODIFICATION, Modification.ModelValue); var request = file.Key.FileType.GetRequestAddress(); var result = await device.BurnAsync(request, entities, DeviceOperationScope.DEFAULT, CancellationToken.None); if (result.Status != BurnStatus.OK) { Logger.LogErrorEverywhere("Ошибка операции"); hadError = true; break; } } if (!hadError) { SuccessfullyWritten?.Invoke(this); } } } }
protected override void OnClosing(CancelEventArgs e) { e.Cancel = !UserInteracting.RequestAcknowledgement("Закрытие программы", $"Несохраненные данные будут потеряны.-NL-NLВсе равно закрыть?"); base.OnClosing(e); }