using DMS.Application.DTOs; using DMS.WPF.ViewModels.Items; using DMS.Application.Configurations; using Microsoft.Extensions.DependencyInjection; namespace DMS.WPF.Factories { /// /// VariableItemViewModel工厂类 /// 专门用于构建VariableItemViewModel实例 /// public interface IVariableItemViewModelFactory { /// /// 从VariableDto创建VariableItemViewModel实例 /// /// 变量数据传输对象 /// VariableItemViewModel实例 VariableItemViewModel CreateNewVariableItemViewModel(); } public class VariableItemViewModelFactory : IVariableItemViewModelFactory { private readonly IServiceProvider _serviceProvider; private readonly AppSettings _appSettings; public VariableItemViewModelFactory(AppSettings appSettings) { _appSettings = appSettings; } /// /// 从VariableDto创建VariableItemViewModel实例 /// /// 变量数据传输对象 /// VariableItemViewModel实例 public VariableItemViewModel CreateNewVariableItemViewModel() { var viewModel = new VariableItemViewModel() { IsActive = _appSettings.VariableImportTemplate.IsActive, IsHistoryEnabled = _appSettings.VariableImportTemplate.IsHistoryEnabled, HistoryDeadband = _appSettings.VariableImportTemplate.HistoryDeadband, PollingInterval = _appSettings.VariableImportTemplate.PollingInterval, }; return viewModel; } } }