添加项目文件。
This commit is contained in:
165
TestingModule/ViewModels/ParametersManagerViewModel.cs
Normal file
165
TestingModule/ViewModels/ParametersManagerViewModel.cs
Normal file
@@ -0,0 +1,165 @@
|
||||
using UIShare.UIViewModel;
|
||||
using UIShare.GlobalVariable;
|
||||
using UIShare.PubEvent;
|
||||
using Logger;
|
||||
using MaterialDesignThemes.Wpf;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Windows.Input;
|
||||
using System.Xml;
|
||||
using UIShare.ViewModelBase;
|
||||
using Prism.Events;
|
||||
|
||||
namespace TestingModule.ViewModels
|
||||
{
|
||||
public class ParametersManagerViewModel:NavigateViewModelBase
|
||||
{
|
||||
#region 属性
|
||||
//private ObservableCollection<DeviceConfigModel> _DeviceList;
|
||||
|
||||
//public ObservableCollection<DeviceConfigModel> DeviceList
|
||||
//{
|
||||
// get { return _DeviceList; }
|
||||
// set { SetProperty(ref _DeviceList,value); }
|
||||
//}
|
||||
private ObservableCollection<DeviceInfoModel> _DeviceInfoModel;
|
||||
|
||||
public ObservableCollection<DeviceInfoModel> DeviceInfoModel
|
||||
{
|
||||
get { return _DeviceInfoModel; }
|
||||
set { SetProperty(ref _DeviceInfoModel, value); }
|
||||
}
|
||||
|
||||
public ProgramModel Program
|
||||
{
|
||||
get => _ScopedContext.Program;
|
||||
set
|
||||
{
|
||||
if (_ScopedContext.Program != value)
|
||||
{
|
||||
_ScopedContext.Program = value;
|
||||
RaisePropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
private ParameterModel _SelectedParameter;
|
||||
public ParameterModel SelectedParameter
|
||||
{
|
||||
get => _SelectedParameter;
|
||||
set
|
||||
{
|
||||
if (SetProperty(ref _SelectedParameter, value))
|
||||
{
|
||||
_ScopedContext.SelectedParameter = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
private DeviceInfoModel _SelectedDevice;
|
||||
|
||||
|
||||
|
||||
public DeviceInfoModel SelectedDevice
|
||||
{
|
||||
get { return _SelectedDevice; }
|
||||
set { SetProperty(ref _SelectedDevice, value); }
|
||||
}
|
||||
#endregion
|
||||
private ScopedContext _ScopedContext { get; set; }
|
||||
private readonly SystemConfig _systemConfig;
|
||||
private readonly GlobalInfo _globalInfo;
|
||||
#region 命令
|
||||
public ICommand ParameterAddCommand { get; set; }
|
||||
public ICommand ParameterEditCommand { get; set; }
|
||||
public ICommand ParameterDeleteCommand { get; set; }
|
||||
public ICommand DeviceEditCommand { get; set; }
|
||||
public ICommand ReconnnectCommand { get; set; }
|
||||
public ICommand CloseCommand { get; set; }
|
||||
#endregion
|
||||
|
||||
public ParametersManagerViewModel(IContainerProvider containerProvider, ScopedContext scopedContext, SystemConfig systemConfig, GlobalInfo globalInfo) : base(containerProvider)
|
||||
{
|
||||
_ScopedContext = scopedContext;
|
||||
_systemConfig = systemConfig;
|
||||
_globalInfo = globalInfo;
|
||||
Program = _ScopedContext.Program;
|
||||
ParameterAddCommand = new DelegateCommand(ParameterAdd);
|
||||
ParameterEditCommand = new DelegateCommand(ParameterEdit);
|
||||
ParameterDeleteCommand = new DelegateCommand(ParameterDelete);
|
||||
DeviceEditCommand = new DelegateCommand(DeviceEdit);
|
||||
}
|
||||
|
||||
#region 委托命令
|
||||
|
||||
private void DeviceEdit()
|
||||
{
|
||||
if (!_globalInfo.IsAdmin) return;
|
||||
if (SelectedDevice==null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var type = SelectedDevice.DeviceType.Split('.').Last();
|
||||
if(type=="E36233A"|| type == "IT6724CReverse")
|
||||
{
|
||||
_dialogService.Show("Backfeed");
|
||||
}
|
||||
else
|
||||
{
|
||||
_dialogService.Show(type);
|
||||
}
|
||||
}
|
||||
|
||||
private void ParameterDelete()
|
||||
{
|
||||
if (!_globalInfo.IsAdmin) return;
|
||||
Program.Parameters.Remove(SelectedParameter);
|
||||
}
|
||||
|
||||
private void ParameterEdit()
|
||||
{
|
||||
if (!_globalInfo.IsAdmin) return;
|
||||
var param = new DialogParameters
|
||||
{
|
||||
{ "Mode",SelectedParameter==null?"ADD":"Edit" },
|
||||
{ "ScopedContext",_ScopedContext }
|
||||
};
|
||||
_dialogService.ShowDialog("ParameterSetting", param, (r) =>
|
||||
{
|
||||
if (r.Result == ButtonResult.OK)
|
||||
{
|
||||
_eventAggregator.GetEvent<ParamsChangedEvent>().Publish();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
private void ParameterAdd()
|
||||
{
|
||||
if (!_globalInfo.IsAdmin) return;
|
||||
var param = new DialogParameters
|
||||
{
|
||||
{ "Mode", "ADD" },
|
||||
{ "ScopedContext",_ScopedContext }
|
||||
};
|
||||
_dialogService.ShowDialog("ParameterSetting", param, (r) =>
|
||||
{
|
||||
if (r.Result == ButtonResult.OK)
|
||||
{
|
||||
_eventAggregator.GetEvent<ParamsChangedEvent>().Publish();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user