添加了后台的数据处理服务。并判断如果值发生了变化则更新数据库

This commit is contained in:
2025-07-16 15:08:56 +08:00
parent 53f904e0ce
commit 77363efcf6
11 changed files with 222 additions and 147 deletions

View File

@@ -0,0 +1,37 @@
using System.Threading.Tasks;
using PMSWPF.Models;
using PMSWPF.Helper;
namespace PMSWPF.Services.Processors
{
public class UpdateDbVariableProcessor : IVariableDataProcessor
{
private readonly DataServices _dataServices;
public UpdateDbVariableProcessor(DataServices dataServices)
{
_dataServices = dataServices;
}
public async Task ProcessAsync(VariableDataContext context)
{
try
{
// 假设 DataServices 有一个方法来更新 VariableData
await _dataServices.UpdateVariableDataAsync(context.Data);
NlogHelper.Info($"数据库变量 {context.Data.Name} 更新成功,值为: {context.Data.DataValue}");
if (!_dataServices.AllVariables.TryGetValue(context.Data.Id, out VariableData oldVariable))
{
NlogHelper.Warn($"数据库更新完成修改变量值是否改变时在_dataServices.AllVariables中找不到Id:{context.Data.Id},Name:{context.Data.Name}的变量。");
context.IsHandled = true;
}
oldVariable.DataValue = context.Data.DataValue;
}
catch (Exception ex)
{
NlogHelper.Error($"更新数据库变量 {context.Data.Name} 失败: {ex.Message}", ex);
}
}
}
}