完成修改多个变量修给轮询时间
This commit is contained in:
@@ -254,20 +254,25 @@ partial class VariableTableViewModel : ViewModelBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RelayCommand]
|
[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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newPollLevelType = await _dialogService.ShowPollLevelDialog(SelectedVariableData.PollLevelType);
|
var newPollLevelType = await _dialogService.ShowPollLevelDialog(variablesToChange.First().PollLevelType);
|
||||||
if (newPollLevelType.HasValue)
|
if (newPollLevelType.HasValue)
|
||||||
{
|
{
|
||||||
SelectedVariableData.PollLevelType = newPollLevelType.Value;
|
foreach (var variable in variablesToChange)
|
||||||
await _varDataRepository.UpdateAsync(SelectedVariableData);
|
{
|
||||||
NotificationHelper.ShowMessage($"变量 {SelectedVariableData.Name} 的轮询频率已更新", NotificationType.Success);
|
variable.PollLevelType = newPollLevelType.Value;
|
||||||
|
variable.IsModified=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _varDataRepository.UpdateAsync(variablesToChange);
|
||||||
|
NotificationHelper.ShowMessage($"已成功更新 {variablesToChange.Count} 个变量的轮询频率", NotificationType.Success);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -186,7 +186,7 @@
|
|||||||
</MenuItem.Icon>
|
</MenuItem.Icon>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem Header="修改轮询频率"
|
<MenuItem Header="修改轮询频率"
|
||||||
Command="{Binding ChangePollLevelCommand}">
|
Click="ChangePollLevel_Click">
|
||||||
<MenuItem.Icon>
|
<MenuItem.Icon>
|
||||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
||||||
</MenuItem.Icon>
|
</MenuItem.Icon>
|
||||||
|
|||||||
@@ -122,4 +122,27 @@ public partial class VariableTableView : UserControl
|
|||||||
NotificationHelper.ShowMessage("请选择要删除的变量", NotificationType.Warning);
|
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