完成修改多个变量修给轮询时间
This commit is contained in:
@@ -254,20 +254,25 @@ partial class VariableTableViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task ChangePollLevel()
|
||||
public async Task ChangePollLevel(List<VariableData> variablesToChange)
|
||||
{
|
||||
if (SelectedVariableData == null)
|
||||
if (variablesToChange == null || !variablesToChange.Any())
|
||||
{
|
||||
NotificationHelper.ShowMessage("请选择一个变量", NotificationType.Warning);
|
||||
NotificationHelper.ShowMessage("请选择要修改轮询频率的变量", NotificationType.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
var newPollLevelType = await _dialogService.ShowPollLevelDialog(SelectedVariableData.PollLevelType);
|
||||
var newPollLevelType = await _dialogService.ShowPollLevelDialog(variablesToChange.First().PollLevelType);
|
||||
if (newPollLevelType.HasValue)
|
||||
{
|
||||
SelectedVariableData.PollLevelType = newPollLevelType.Value;
|
||||
await _varDataRepository.UpdateAsync(SelectedVariableData);
|
||||
NotificationHelper.ShowMessage($"变量 {SelectedVariableData.Name} 的轮询频率已更新", NotificationType.Success);
|
||||
foreach (var variable in variablesToChange)
|
||||
{
|
||||
variable.PollLevelType = newPollLevelType.Value;
|
||||
variable.IsModified=false;
|
||||
}
|
||||
|
||||
await _varDataRepository.UpdateAsync(variablesToChange);
|
||||
NotificationHelper.ShowMessage($"已成功更新 {variablesToChange.Count} 个变量的轮询频率", NotificationType.Success);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="修改轮询频率"
|
||||
Command="{Binding ChangePollLevelCommand}">
|
||||
Click="ChangePollLevel_Click">
|
||||
<MenuItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
||||
</MenuItem.Icon>
|
||||
|
||||
@@ -122,4 +122,27 @@ public partial class VariableTableView : UserControl
|
||||
NotificationHelper.ShowMessage("请选择要删除的变量", NotificationType.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
private async void ChangePollLevel_Click(object sender, RoutedEventArgs args)
|
||||
{
|
||||
try
|
||||
{
|
||||
_viewModel = (VariableTableViewModel)this.DataContext;
|
||||
var selectedVariables = BasicGridView.SelectedItems.Cast<VariableData>().ToList();
|
||||
if (selectedVariables.Any())
|
||||
{
|
||||
await _viewModel.ChangePollLevel(selectedVariables);
|
||||
}
|
||||
else
|
||||
{
|
||||
NotificationHelper.ShowMessage("请选择要修改轮询频率的变量", NotificationType.Warning);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
string msg = "修改轮询时间时发生了错误:";
|
||||
Logger.Error(msg + e);
|
||||
NotificationHelper.ShowMessage(msg + e.Message, NotificationType.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user