Example #1
0
        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();
        }
Example #2
0
 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;
     }
 }