逻辑规则和CAN结合的更改
This commit is contained in:
@@ -48,7 +48,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
set { _ListLogicRuleDto = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
private LogicRuleDto _selectedRule;
|
||||
private LogicRuleDto _selectedRule=new LogicRuleDto();
|
||||
/// <summary>
|
||||
/// 当前选中的规则
|
||||
/// </summary>
|
||||
@@ -58,6 +58,11 @@ namespace CapMachine.Wpf.ViewModels
|
||||
set { _selectedRule = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 选中更改之前的LogicRuleDto
|
||||
/// </summary>
|
||||
public LogicRuleDto SelectedRuleOld { get; set; }
|
||||
|
||||
private DelegateCommand<object> _GridSelectionChangedCmd;
|
||||
/// <summary>
|
||||
/// 选中行数据命令
|
||||
@@ -82,6 +87,8 @@ namespace CapMachine.Wpf.ViewModels
|
||||
var selectedItem = par as LogicRuleDto;
|
||||
if (selectedItem != null)
|
||||
{
|
||||
//防止需要未更改之前的数据
|
||||
SelectedRuleOld = selectedItem;
|
||||
//先判断是否是正确的集合数据,防止DataGrid的数据源刷新导致的触发事件
|
||||
SelectedRule = selectedItem.DeepClone();
|
||||
}
|
||||
@@ -90,6 +97,10 @@ namespace CapMachine.Wpf.ViewModels
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否编辑
|
||||
/// </summary>
|
||||
private bool IsRuleEdit { get; set; } = false;
|
||||
|
||||
private DelegateCommand<string> _RuleCmd;
|
||||
/// <summary>
|
||||
@@ -112,11 +123,8 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
private void RuleCmdMethod(string par)
|
||||
{
|
||||
if (SelectedRule==null)
|
||||
{
|
||||
MessageBox.Show("选中后再操作数据");
|
||||
return;
|
||||
}
|
||||
|
||||
IsRuleEdit = true;
|
||||
//先判断是否是正确的集合数据,防止DataGrid的数据源刷新导致的触发事件
|
||||
switch (par)
|
||||
{
|
||||
@@ -125,9 +133,19 @@ namespace CapMachine.Wpf.ViewModels
|
||||
LogicRuleService.AddRule(Mapper.Map<LogicRule>(SelectedRule));
|
||||
break;
|
||||
case "Update":
|
||||
LogicRuleService.UpdateRule(Mapper.Map<LogicRule>(SelectedRule));
|
||||
if (SelectedRule == null)
|
||||
{
|
||||
MessageBox.Show("选中后再操作数据");
|
||||
return;
|
||||
}
|
||||
LogicRuleService.UpdateRule(Mapper.Map<LogicRule>(SelectedRuleOld),Mapper.Map<LogicRule>(SelectedRule));
|
||||
break;
|
||||
case "Delete":
|
||||
if (SelectedRule == null)
|
||||
{
|
||||
MessageBox.Show("选中后再操作数据");
|
||||
return;
|
||||
}
|
||||
LogicRuleService.DeleteRule(SelectedRule.Name);
|
||||
break;
|
||||
default:
|
||||
@@ -181,7 +199,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
DialogParameters pars = new DialogParameters
|
||||
{
|
||||
{ "NewData", "" }
|
||||
{ "IsRuleEdit", IsRuleEdit }
|
||||
};
|
||||
|
||||
RaiseRequestClose(new DialogResult(ButtonResult.OK, pars));
|
||||
@@ -224,6 +242,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
public override void OnDialogOpened(IDialogParameters parameters)
|
||||
{
|
||||
Name = parameters.GetValue<string>("Name");
|
||||
IsRuleEdit = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user