refactor:将AppDataCenterService改为AppCenterService,将AppDataStorageService改为AppStorageService,将触发器的增删改成合并

This commit is contained in:
2025-10-18 17:18:09 +08:00
parent 816827e5e9
commit 595139fb02
64 changed files with 1159 additions and 599 deletions

View File

@@ -30,7 +30,7 @@ partial class LogHistoryViewModel : ViewModelBase,IDisposable
private readonly IDialogService _dialogService;
private readonly IDataStorageService _dataStorageService;
private readonly INotificationService _notificationService;
private readonly IAppDataCenterService _appDataCenterService;
private readonly IAppCenterService _appCenterService;
[ObservableProperty]
private NlogItem _selectedLog;
@@ -51,7 +51,7 @@ partial class LogHistoryViewModel : ViewModelBase,IDisposable
public ObservableCollection<string> LogLevels { get; } = new ObservableCollection<string> { "Trace", "Debug", "Info", "Warn", "Error", "Fatal" };
public LogHistoryViewModel(IMapper mapper, INlogAppService nlogAppService, IDialogService dialogService, IDataStorageService dataStorageService
, INotificationService notificationService, IWPFDataService wpfDataService, IAppDataCenterService appDataCenterService)
, INotificationService notificationService, IWPFDataService wpfDataService, IAppCenterService appCenterService)
{
_mapper = mapper;
_nlogAppService = nlogAppService;
@@ -59,7 +59,7 @@ partial class LogHistoryViewModel : ViewModelBase,IDisposable
_dataStorageService = dataStorageService;
_notificationService = notificationService;
_wpfDataService = wpfDataService;
_appDataCenterService = appDataCenterService;
_appCenterService = appCenterService;
_logItemList = new ObservableList<NlogItem>(_dataStorageService.Nlogs);
@@ -67,7 +67,7 @@ partial class LogHistoryViewModel : ViewModelBase,IDisposable
LogItemListView = _synchronizedView.ToNotifyCollectionChanged();
// 订阅日志变更事件
_appDataCenterService.LogManagementService.OnLogChanged += _wpfDataService.LogDataService.OnNlogChanged;
_appCenterService.LogManagementService.OnLogChanged += _wpfDataService.LogDataService.OnNlogChanged;
}
/// <summary>
@@ -246,7 +246,7 @@ partial class LogHistoryViewModel : ViewModelBase,IDisposable
public void Dispose()
{
// 取消订阅事件
_appDataCenterService.LogManagementService.OnLogChanged -= OnNlogChanged;
_appCenterService.LogManagementService.OnLogChanged -= OnNlogChanged;
}
}

View File

@@ -26,7 +26,7 @@ public partial class SplashViewModel : ObservableObject
private readonly IServiceProvider _serviceProvider;
private readonly IInitializeService _initializeService;
private readonly IDataEventService _dataEventService;
private readonly IAppDataCenterService _appDataCenterService;
private readonly IAppCenterService _appCenterService;
private readonly AppSettings _appSettings;
[ObservableProperty]
@@ -34,13 +34,13 @@ public partial class SplashViewModel : ObservableObject
public SplashViewModel(ILogger<SplashViewModel> logger, IServiceProvider serviceProvider,
IInitializeService initializeService, IDataEventService dataEventService,
IAppDataCenterService appDataCenterService, AppSettings appSettings)
IAppCenterService appCenterService, AppSettings appSettings)
{
_logger = logger;
_serviceProvider = serviceProvider;
_initializeService = initializeService;
_dataEventService = dataEventService;
this._appDataCenterService = appDataCenterService;
this._appCenterService = appCenterService;
_appSettings = appSettings;
}
@@ -60,7 +60,7 @@ public partial class SplashViewModel : ObservableObject
_initializeService.InitializeMenus();
await _appDataCenterService.DataLoaderService.LoadAllDataToMemoryAsync();
await _appCenterService.DataLoaderService.LoadAllDataToMemoryAsync();
// 可以在这里添加加载配置的逻辑
await Task.Delay(500); // 模拟耗时

View File

@@ -1,7 +1,9 @@
using System.Collections.ObjectModel;
using AutoMapper;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using DMS.Application.DTOs;
using DMS.Core.Models.Triggers;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Dialogs;
using DMS.WPF.ItemViewModel;
@@ -15,6 +17,7 @@ namespace DMS.WPF.ViewModels
/// </summary>
public partial class TriggersViewModel : ViewModelBase
{
private readonly IMapper _mapper;
private readonly ITriggerDataService _triggerDataService;
private readonly IDataStorageService _dataStorageService;
private readonly IDialogService _dialogService;
@@ -27,11 +30,13 @@ namespace DMS.WPF.ViewModels
private TriggerItem? _selectedTrigger;
public TriggersViewModel(
IMapper mapper,
ITriggerDataService triggerDataService,
IDataStorageService dataStorageService,
IDialogService dialogService,
INotificationService notificationService)
{
_mapper = mapper;
_triggerDataService = triggerDataService ?? throw new ArgumentNullException(nameof(triggerDataService));
_dataStorageService = dataStorageService ?? throw new ArgumentNullException(nameof(dataStorageService));
_dialogService = dialogService ?? throw new ArgumentNullException(nameof(dialogService));
@@ -100,23 +105,7 @@ namespace DMS.WPF.ViewModels
}
// 传递副本以避免直接修改原始对象
var triggerToEdit = new TriggerDefinitionDto
{
Id = SelectedTrigger.Id,
VariableIds = new List<int>(SelectedTrigger.VariableIds),
IsActive = SelectedTrigger.IsActive,
Condition = SelectedTrigger.Condition,
Threshold = SelectedTrigger.Threshold,
LowerBound = SelectedTrigger.LowerBound,
UpperBound = SelectedTrigger.UpperBound,
Action = SelectedTrigger.Action,
ActionConfigurationJson = SelectedTrigger.ActionConfigurationJson,
SuppressionDuration = SelectedTrigger.SuppressionDuration,
LastTriggeredAt = SelectedTrigger.LastTriggeredAt,
Description = SelectedTrigger.Description,
CreatedAt = SelectedTrigger.CreatedAt,
UpdatedAt = SelectedTrigger.UpdatedAt
};
var triggerToEdit = _mapper.Map<TriggerDefinition>(SelectedTrigger);
TriggerDialogViewModel viewModel = App.Current.Services.GetRequiredService<TriggerDialogViewModel>();
await viewModel.OnInitializedAsync(triggerToEdit);