public PluginViewModel(IPlugin plugin) { this._plugin = plugin; var protocalSetting = plugin.GetProtocalSetting(); Title = protocalSetting.Title; Description = protocalSetting.Description; _log = TinyIoCContainer.Current.Resolve <ILogDog>(); PluginKVViewModels = new ObservableCollection <PluginKVViewModel>(); PluginMonitorViewModels = new ObservableCollection <PluginMonitorViewModel>(); _xmlPluginKvSgsStorage = new XmlStorage <PluginKvSgs>(PathHelper.Combine(MessageToken.CONFIG_FOLDER, MessageToken.SETTINGCONFIG_FOLDER)); _xmlPluginKvSgsStorage.Load(); _pluginKvSgs = _xmlPluginKvSgsStorage.Storage; var pluginKvs = protocalSetting.PluginKVs; var pluginMonitors = protocalSetting.PluginMonitors; foreach (var item in pluginKvs) { if (_pluginKvSgs.PluginKvSgList != null && _pluginKvSgs.PluginKvSgList.Exists(p => p.Key == item.Key)) { item.Value = _pluginKvSgs.PluginKvSgList.FirstOrDefault(p => p.Key == item.Key).Value; } var kvm = new PluginKVViewModel(item); PluginKVViewModels.Add(kvm); kvm.PropertyChanged += Kvm_PropertyChanged; } foreach (var item in plugin.GetProtocalSetting().PluginMonitors) { PluginMonitorViewModels.Add(new PluginMonitorViewModel(item)); } SelectedPluginMonitorVm = PluginMonitorViewModels.FirstOrDefault(); }
public GeneralSettingViewModel() { _xmlPluginKvSgsStorage = new XmlStorage <PluginKvSgs>(PathHelper.Combine(MessageToken.CONFIG_FOLDER, MessageToken.GENERAL_SETTING)); _xmlPluginKvSgsStorage.Load(); _pluginKvSgs = _xmlPluginKvSgsStorage.Storage; GeneralKvViewModels = new ObservableCollection <PluginKVViewModel> { new PluginKVViewModel( new PluginKV() { Key = MessageToken.SAVELOGDAYS, Value = "15", KvType = KvType.Int, }) }; foreach (var kvvm in GeneralKvViewModels) { var kv = _pluginKvSgs.PluginKvSgList.Find(o => o.Key == kvvm.Key); if (kv != null) { kvvm.Value = kv.Value; } else { _pluginKvSgs.PluginKvSgList.Add(new PluginKvSg() { Key = kvvm.Key, Value = kvvm.Value }); } kvvm.PropertyChanged += Kvvm_PropertyChanged; } }