Undo Feature Finish
This commit is contained in:
@@ -56,7 +56,6 @@ namespace BeWo.View.Controls
|
|||||||
private void UpdateControls()
|
private void UpdateControls()
|
||||||
{
|
{
|
||||||
bool zeigeKatalogAuswahl = RBtnKatalog.IsChecked.HasValue && RBtnKatalog.IsChecked.Value;
|
bool zeigeKatalogAuswahl = RBtnKatalog.IsChecked.HasValue && RBtnKatalog.IsChecked.Value;
|
||||||
|
|
||||||
|
|
||||||
LabelKatalog.Visibility = zeigeKatalogAuswahl ? Visibility.Visible : Visibility.Collapsed;
|
LabelKatalog.Visibility = zeigeKatalogAuswahl ? Visibility.Visible : Visibility.Collapsed;
|
||||||
CboCatalog.Visibility = zeigeKatalogAuswahl ? Visibility.Visible : Visibility.Collapsed;
|
CboCatalog.Visibility = zeigeKatalogAuswahl ? Visibility.Visible : Visibility.Collapsed;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using static BeWo.View.Detail.MassnahmenHistoryRecord;
|
||||||
|
|
||||||
namespace BeWo.View.Detail
|
namespace BeWo.View.Detail
|
||||||
{
|
{
|
||||||
@@ -77,11 +78,12 @@ namespace BeWo.View.Detail
|
|||||||
public bool GotNextAction => LastChange is object && LastChange.Next is object;
|
public bool GotNextAction => LastChange is object && LastChange.Next is object;
|
||||||
public bool GotChanges => LastChange is object && (GotNextAction || GotPrevAction);
|
public bool GotChanges => LastChange is object && (GotNextAction || GotPrevAction);
|
||||||
|
|
||||||
public void RecordAdd(MassnahmenHistoryNodeParameter param) => RecordAction(new MassnahmenHistoryRecordAdd(param));
|
public void RecordAdd(NodeRelation param) => RecordAction(new MassnahmenHistoryRecordAdd(param));
|
||||||
public void RecordMove(MassnahmenHistoryRecordMove move) => RecordAction(move);
|
public void RecordMove(MassnahmenHistoryRecordMove move) => RecordAction(move);
|
||||||
public void RecordImport(List<MassnahmenHistoryNodeParameter> param) => RecordAction(new MassnahmenHistoryRecordImport(param));
|
public void RecordImport(List<NodeRelation> param) => RecordAction(new MassnahmenHistoryRecordImport(param));
|
||||||
public void RecordDelete(MassnahmenHistoryRecordDelete del) => RecordAction(del);
|
public void RecordDelete(MassnahmenHistoryRecordDelete del) => RecordAction(del);
|
||||||
public void RecordCopy(MassnahmenHistoryNodeParameter root, List<MassnahmenHistoryNodeParameter> param) => RecordAction(new MassnahmenHistoryRecordCopy(root, param));
|
public void RecordCopy(NodeRelation root, List<NodeRelation> param) => RecordAction(new MassnahmenHistoryRecordCopy(root, param));
|
||||||
|
public void RecordEdit(MassnahmenHistoryRecordEdit edit) => RecordAction(edit);
|
||||||
|
|
||||||
private void RecordAction(MassnahmenHistoryRecord val)
|
private void RecordAction(MassnahmenHistoryRecord val)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using BeWo.Core;
|
using BeWo.Core;
|
||||||
|
using BeWo.ViewModel;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -9,6 +10,29 @@ namespace BeWo.View.Detail
|
|||||||
{
|
{
|
||||||
public abstract class MassnahmenHistoryRecord
|
public abstract class MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
|
public struct NodeRelation
|
||||||
|
{
|
||||||
|
public SupportConceptGoalTreeItem Current { get; set; }
|
||||||
|
public SupportConceptGoalTreeItem Parent { get; set; }
|
||||||
|
|
||||||
|
public NodeRelation(SupportConceptGoalTreeItem newitem, SupportConceptGoalTreeItem parent)
|
||||||
|
{
|
||||||
|
Current = newitem;
|
||||||
|
Parent = parent;
|
||||||
|
}
|
||||||
|
public NodeRelation(SupportConceptGoalTreeItem newitem)
|
||||||
|
{
|
||||||
|
Current = newitem;
|
||||||
|
Parent = newitem.ParentGoal as SupportConceptGoalTreeItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct NodeEditInformation
|
||||||
|
{
|
||||||
|
public string Abbreviation { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
public string Notice { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MassnahmenHistoryRecordOrigin : MassnahmenHistoryRecord
|
public class MassnahmenHistoryRecordOrigin : MassnahmenHistoryRecord
|
||||||
@@ -18,13 +42,13 @@ namespace BeWo.View.Detail
|
|||||||
|
|
||||||
public class MassnahmenHistoryRecordAdd : MassnahmenHistoryRecord
|
public class MassnahmenHistoryRecordAdd : MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
public MassnahmenHistoryNodeParameter Parameter { get; set; }
|
public NodeRelation Parameter { get; set; }
|
||||||
|
|
||||||
public MassnahmenHistoryRecordAdd(SupportConceptGoalTreeItem newitem, SupportConceptGoalTreeItem parent)
|
public MassnahmenHistoryRecordAdd(SupportConceptGoalTreeItem newitem, SupportConceptGoalTreeItem parent)
|
||||||
{
|
{
|
||||||
Parameter = new MassnahmenHistoryNodeParameter(newitem, parent);
|
Parameter = new NodeRelation(newitem, parent);
|
||||||
}
|
}
|
||||||
public MassnahmenHistoryRecordAdd(MassnahmenHistoryNodeParameter param)
|
public MassnahmenHistoryRecordAdd(NodeRelation param)
|
||||||
{
|
{
|
||||||
Parameter = param;
|
Parameter = param;
|
||||||
}
|
}
|
||||||
@@ -32,22 +56,22 @@ namespace BeWo.View.Detail
|
|||||||
|
|
||||||
public class MassnahmenHistoryRecordImport : MassnahmenHistoryRecord
|
public class MassnahmenHistoryRecordImport : MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
public List<MassnahmenHistoryNodeParameter> Parameters { get; set; }
|
public List<NodeRelation> Parameters { get; set; }
|
||||||
public List<MassnahmenHistoryNodeParameter> ParametersReversed { get; set; }
|
public List<NodeRelation> ParametersReversed { get; set; }
|
||||||
|
|
||||||
public MassnahmenHistoryRecordImport(List<MassnahmenHistoryNodeParameter> list)
|
public MassnahmenHistoryRecordImport(List<NodeRelation> list)
|
||||||
{
|
{
|
||||||
Parameters = list;
|
Parameters = list;
|
||||||
ParametersReversed = new Stack<MassnahmenHistoryNodeParameter>(list).ToList();
|
ParametersReversed = new Stack<NodeRelation>(list).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MassnahmenHistoryRecordDelete : MassnahmenHistoryRecord
|
public class MassnahmenHistoryRecordDelete : MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
public MassnahmenHistoryNodeParameter ExNode { get; set; }
|
public NodeRelation ExNode { get; set; }
|
||||||
public List<MassnahmenHistoryNodeParameter> Parameters { get; set; }
|
public List<NodeRelation> Parameters { get; set; }
|
||||||
|
|
||||||
public MassnahmenHistoryRecordDelete(MassnahmenHistoryNodeParameter exnode, List<MassnahmenHistoryNodeParameter> list)
|
public MassnahmenHistoryRecordDelete(NodeRelation exnode, List<NodeRelation> list)
|
||||||
{
|
{
|
||||||
Parameters = list;
|
Parameters = list;
|
||||||
ExNode = exnode;
|
ExNode = exnode;
|
||||||
@@ -70,35 +94,36 @@ namespace BeWo.View.Detail
|
|||||||
|
|
||||||
public class MassnahmenHistoryRecordCopy : MassnahmenHistoryRecord
|
public class MassnahmenHistoryRecordCopy : MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
public MassnahmenHistoryNodeParameter CurrentNode { get; set; }
|
public NodeRelation CurrentNode { get; set; }
|
||||||
public List<MassnahmenHistoryNodeParameter> Parameters { get; set; }
|
public List<NodeRelation> Parameters { get; set; }
|
||||||
|
|
||||||
public MassnahmenHistoryRecordCopy(MassnahmenHistoryNodeParameter root, List<MassnahmenHistoryNodeParameter> list)
|
public MassnahmenHistoryRecordCopy(NodeRelation root, List<NodeRelation> list)
|
||||||
{
|
{
|
||||||
Parameters = list;
|
Parameters = list;
|
||||||
CurrentNode = root;
|
CurrentNode = root;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class MassnahmenHistoryParameter
|
public class MassnahmenHistoryRecordEdit : MassnahmenHistoryRecord
|
||||||
{
|
{
|
||||||
|
public ValueListEntryVM VM { get; set; }
|
||||||
|
|
||||||
}
|
public NodeEditInformation Before { get; set; }
|
||||||
|
public NodeEditInformation After { get; set; }
|
||||||
public class MassnahmenHistoryNodeParameter : MassnahmenHistoryParameter
|
|
||||||
{
|
public MassnahmenHistoryRecordEdit(ValueListEntryVM vm, NodeEditInformation b, NodeEditInformation a)
|
||||||
public SupportConceptGoalTreeItem Current { get; set; }
|
|
||||||
public SupportConceptGoalTreeItem Parent { get; set; }
|
|
||||||
|
|
||||||
public MassnahmenHistoryNodeParameter(SupportConceptGoalTreeItem newitem, SupportConceptGoalTreeItem parent)
|
|
||||||
{
|
{
|
||||||
Current = newitem;
|
Before = b;
|
||||||
Parent = parent;
|
After = a;
|
||||||
|
VM = vm;
|
||||||
}
|
}
|
||||||
public MassnahmenHistoryNodeParameter(SupportConceptGoalTreeItem newitem)
|
|
||||||
|
public void SetVM(NodeEditInformation info)
|
||||||
{
|
{
|
||||||
Current = newitem;
|
VM.Abbreviation = info.Abbreviation;
|
||||||
Parent = newitem.ParentGoal as SupportConceptGoalTreeItem;
|
VM.Description = info.Description;
|
||||||
|
VM.Notice = info.Notice;
|
||||||
|
VM.CommitToDataContract();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
using BeWo.Core;
|
using BeWo.Core;
|
||||||
|
using BeWo.ViewModel;
|
||||||
using BeWo.ViewModel.ListViewModel;
|
using BeWo.ViewModel.ListViewModel;
|
||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
using BS.Shared.Core;
|
using BS.Shared.Core;
|
||||||
|
using BS.Shared.DataContracts;
|
||||||
using BS.Shared.DataContracts.ClientPartials;
|
using BS.Shared.DataContracts.ClientPartials;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using static BeWo.View.Detail.MassnahmenHistoryRecord;
|
||||||
|
|
||||||
namespace BeWo.View.Detail
|
namespace BeWo.View.Detail
|
||||||
{
|
{
|
||||||
@@ -29,6 +32,7 @@ namespace BeWo.View.Detail
|
|||||||
{ typeof(MassnahmenHistoryRecordDelete), GetTuple<MassnahmenHistoryRecordDelete>(UndoDeleteAction, RedoDeleteAction) },
|
{ typeof(MassnahmenHistoryRecordDelete), GetTuple<MassnahmenHistoryRecordDelete>(UndoDeleteAction, RedoDeleteAction) },
|
||||||
{ typeof(MassnahmenHistoryRecordImport), GetTuple<MassnahmenHistoryRecordImport>(UndoImportAction, RedoImportAction) },
|
{ typeof(MassnahmenHistoryRecordImport), GetTuple<MassnahmenHistoryRecordImport>(UndoImportAction, RedoImportAction) },
|
||||||
{ typeof(MassnahmenHistoryRecordMove), GetTuple<MassnahmenHistoryRecordMove>(UndoMoveAction, RedoMoveAction) },
|
{ typeof(MassnahmenHistoryRecordMove), GetTuple<MassnahmenHistoryRecordMove>(UndoMoveAction, RedoMoveAction) },
|
||||||
|
{ typeof(MassnahmenHistoryRecordEdit), GetTuple<MassnahmenHistoryRecordEdit>(UndoEditAction, RedoEditAction) },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,13 +40,12 @@ namespace BeWo.View.Detail
|
|||||||
{
|
{
|
||||||
Type2Actions[action.GetType()].Item1(action);
|
Type2Actions[action.GetType()].Item1(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RedoAction(MassnahmenHistoryRecord action)
|
public void RedoAction(MassnahmenHistoryRecord action)
|
||||||
{
|
{
|
||||||
Type2Actions[action.GetType()].Item2(action);
|
Type2Actions[action.GetType()].Item2(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MassnahmenHistoryNodeParameter DoAddAction(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType,
|
public NodeRelation DoAddAction(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType,
|
||||||
string description, string abbreviation, string notice)
|
string description, string abbreviation, string notice)
|
||||||
{
|
{
|
||||||
if (!valueListEntryType.HasFlag(ValueListEntryType.SupportConceptGoalCategoryType) &&
|
if (!valueListEntryType.HasFlag(ValueListEntryType.SupportConceptGoalCategoryType) &&
|
||||||
@@ -63,7 +66,7 @@ namespace BeWo.View.Detail
|
|||||||
ParentGoal = parent
|
ParentGoal = parent
|
||||||
};
|
};
|
||||||
|
|
||||||
var rtn = new MassnahmenHistoryNodeParameter(newItem, parent);
|
var rtn = new NodeRelation(newItem, parent);
|
||||||
|
|
||||||
ViewModel.AddNewVMToList();
|
ViewModel.AddNewVMToList();
|
||||||
|
|
||||||
@@ -86,17 +89,17 @@ namespace BeWo.View.Detail
|
|||||||
DeactivateNode(record.Parameter);
|
DeactivateNode(record.Parameter);
|
||||||
}
|
}
|
||||||
private void RedoAddAction(MassnahmenHistoryRecordAdd param) => RedoAddAction(param.Parameter);
|
private void RedoAddAction(MassnahmenHistoryRecordAdd param) => RedoAddAction(param.Parameter);
|
||||||
private void RedoAddAction(MassnahmenHistoryNodeParameter addParam)
|
private void RedoAddAction(NodeRelation addParam)
|
||||||
{
|
{
|
||||||
ActivateNode(addParam);
|
ActivateNode(addParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MassnahmenHistoryNodeParameter> DoCopyAction(SupportConceptGoalTreeItem parent, SupportConceptGoalTreeItem source,
|
public List<NodeRelation> DoCopyAction(SupportConceptGoalTreeItem parent, SupportConceptGoalTreeItem source,
|
||||||
MassnahmenTreeCopyType copyType, bool force_deep_copy,
|
MassnahmenTreeCopyType copyType, bool force_deep_copy,
|
||||||
out MassnahmenHistoryNodeParameter current, Stack<MassnahmenHistoryNodeParameter> records = null)
|
out NodeRelation current, Stack<NodeRelation> records = null)
|
||||||
{
|
{
|
||||||
if (records is null)
|
if (records is null)
|
||||||
records = new Stack<MassnahmenHistoryNodeParameter>();
|
records = new Stack<NodeRelation>();
|
||||||
|
|
||||||
if (source == null || parent == null)
|
if (source == null || parent == null)
|
||||||
throw new NotImplementedException("#43298467891364987");
|
throw new NotImplementedException("#43298467891364987");
|
||||||
@@ -105,7 +108,7 @@ namespace BeWo.View.Detail
|
|||||||
var childs = source.Items.ToList();
|
var childs = source.Items.ToList();
|
||||||
var param = DoAddAction(parent, wm.Type, wm.Description, wm.Abbreviation, wm.Notice);
|
var param = DoAddAction(parent, wm.Type, wm.Description, wm.Abbreviation, wm.Notice);
|
||||||
var node = param.Current;
|
var node = param.Current;
|
||||||
var parameter = new MassnahmenHistoryNodeParameter(node, parent);
|
var parameter = new NodeRelation(node, parent);
|
||||||
|
|
||||||
current = parameter;
|
current = parameter;
|
||||||
|
|
||||||
@@ -130,11 +133,11 @@ namespace BeWo.View.Detail
|
|||||||
ActivateSubtree(record.CurrentNode, record.Parameters);
|
ActivateSubtree(record.CurrentNode, record.Parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MassnahmenHistoryRecordDelete DoDeleteAction(MassnahmenHistoryNodeParameter param)
|
public MassnahmenHistoryRecordDelete DoDeleteAction(NodeRelation param)
|
||||||
{
|
{
|
||||||
// Delete Full Subtree
|
// Delete Full Subtree
|
||||||
var stack = new Stack<MassnahmenHistoryNodeParameter>();
|
var stack = new Stack<NodeRelation>();
|
||||||
var queue = new Queue<MassnahmenHistoryNodeParameter>();
|
var queue = new Queue<NodeRelation>();
|
||||||
|
|
||||||
DoDeleteActionRec(param.Current, ref stack, ref queue);
|
DoDeleteActionRec(param.Current, ref stack, ref queue);
|
||||||
|
|
||||||
@@ -142,18 +145,18 @@ namespace BeWo.View.Detail
|
|||||||
DeactivateSubtree(param, queue);
|
DeactivateSubtree(param, queue);
|
||||||
|
|
||||||
//var list = stack.Select(x => new MassnahmenHistoryNodeParameter(x, View.GetParent(x))).ToList();
|
//var list = stack.Select(x => new MassnahmenHistoryNodeParameter(x, View.GetParent(x))).ToList();
|
||||||
var node = new MassnahmenHistoryNodeParameter(param.Current, param.Parent);
|
var node = new NodeRelation(param.Current, param.Parent);
|
||||||
|
|
||||||
return new MassnahmenHistoryRecordDelete(node, stack.ToList());
|
return new MassnahmenHistoryRecordDelete(node, stack.ToList());
|
||||||
}
|
}
|
||||||
public void DoDeleteActionRec(SupportConceptGoalTreeItem item, ref Stack<MassnahmenHistoryNodeParameter> stack, ref Queue<MassnahmenHistoryNodeParameter> queue)
|
public void DoDeleteActionRec(SupportConceptGoalTreeItem item, ref Stack<NodeRelation> stack, ref Queue<NodeRelation> queue)
|
||||||
{
|
{
|
||||||
foreach (var child in item.Items)
|
foreach (var child in item.Items)
|
||||||
{
|
{
|
||||||
DoDeleteActionRec(child, ref stack, ref queue);
|
DoDeleteActionRec(child, ref stack, ref queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
var param = new MassnahmenHistoryNodeParameter(item);
|
var param = new NodeRelation(item);
|
||||||
stack.Push(param);
|
stack.Push(param);
|
||||||
queue.Enqueue(param);
|
queue.Enqueue(param);
|
||||||
}
|
}
|
||||||
@@ -166,13 +169,13 @@ namespace BeWo.View.Detail
|
|||||||
DeactivateSubtree(param.ExNode, param.Parameters);
|
DeactivateSubtree(param.ExNode, param.Parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MassnahmenHistoryNodeParameter> DoImportAction(SupportConceptGoalDC goal, List<MassnahmenHistoryNodeParameter> records = null)
|
public List<NodeRelation> DoImportAction(SupportConceptGoalDC goal, List<NodeRelation> records = null)
|
||||||
{
|
{
|
||||||
if (goal == null)
|
if (goal == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
if (records == null)
|
if (records == null)
|
||||||
records = new List<MassnahmenHistoryNodeParameter>();
|
records = new List<NodeRelation>();
|
||||||
|
|
||||||
goal.Children?.ForEach(x => DoImportAction(x, records));
|
goal.Children?.ForEach(x => DoImportAction(x, records));
|
||||||
|
|
||||||
@@ -225,9 +228,25 @@ namespace BeWo.View.Detail
|
|||||||
DoMoveAction(move.Child, move.ExParent, move.Parent);
|
DoMoveAction(move.Child, move.ExParent, move.Parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MassnahmenHistoryRecordEdit DoEditAction(ValueListEntryDC b, ValueListEntryVM a)
|
||||||
|
{
|
||||||
|
var before = new NodeEditInformation { Abbreviation = b.Abbreviation, Description = b.TypeDescription, Notice = b.Notice };
|
||||||
|
var after = new NodeEditInformation { Abbreviation = a.Abbreviation, Description = a.Description, Notice = a.Notice };
|
||||||
|
|
||||||
|
return new MassnahmenHistoryRecordEdit(a, before, after);
|
||||||
|
}
|
||||||
|
private void UndoEditAction(MassnahmenHistoryRecordEdit edit)
|
||||||
|
{
|
||||||
|
edit.SetVM(edit.Before);
|
||||||
|
}
|
||||||
|
private void RedoEditAction(MassnahmenHistoryRecordEdit edit)
|
||||||
|
{
|
||||||
|
edit.SetVM(edit.After);
|
||||||
|
}
|
||||||
|
|
||||||
private Tuple<Action<MassnahmenHistoryRecord>, Action<MassnahmenHistoryRecord>> GetTuple<T1>(Action<T1> a, Action<T1> b) where T1 : MassnahmenHistoryRecord
|
private Tuple<Action<MassnahmenHistoryRecord>, Action<MassnahmenHistoryRecord>> GetTuple<T1>(Action<T1> a, Action<T1> b) where T1 : MassnahmenHistoryRecord
|
||||||
=> new Tuple<Action<MassnahmenHistoryRecord>, Action<MassnahmenHistoryRecord>>(x => a(x as T1), x => b(x as T1));
|
=> new Tuple<Action<MassnahmenHistoryRecord>, Action<MassnahmenHistoryRecord>>(x => a(x as T1), x => b(x as T1));
|
||||||
private SupportConceptGoalTreeItem AddIcf(SupportConceptGoalDC goal, List<MassnahmenHistoryNodeParameter> records)
|
private SupportConceptGoalTreeItem AddIcf(SupportConceptGoalDC goal, List<NodeRelation> records)
|
||||||
{
|
{
|
||||||
if (goal == null) return null;
|
if (goal == null) return null;
|
||||||
|
|
||||||
@@ -270,7 +289,7 @@ namespace BeWo.View.Detail
|
|||||||
return record2.Current;
|
return record2.Current;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ActivateSubtree(MassnahmenHistoryNodeParameter currentNode, List<MassnahmenHistoryNodeParameter> param)
|
private void ActivateSubtree(NodeRelation currentNode, List<NodeRelation> param)
|
||||||
{
|
{
|
||||||
foreach (var item in param)
|
foreach (var item in param)
|
||||||
{
|
{
|
||||||
@@ -282,7 +301,7 @@ namespace BeWo.View.Detail
|
|||||||
else
|
else
|
||||||
GoalTree.Add(currentNode.Current);
|
GoalTree.Add(currentNode.Current);
|
||||||
}
|
}
|
||||||
private void ActivateNode(MassnahmenHistoryNodeParameter currentNode)
|
private void ActivateNode(NodeRelation currentNode)
|
||||||
{
|
{
|
||||||
var newItem = currentNode.Current;
|
var newItem = currentNode.Current;
|
||||||
var parent = currentNode.Parent;
|
var parent = currentNode.Parent;
|
||||||
@@ -295,7 +314,7 @@ namespace BeWo.View.Detail
|
|||||||
GoalTree.Add(newItem);
|
GoalTree.Add(newItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeactivateSubtree(MassnahmenHistoryNodeParameter currentNode, IEnumerable<MassnahmenHistoryNodeParameter> param)
|
private void DeactivateSubtree(NodeRelation currentNode, IEnumerable<NodeRelation> param)
|
||||||
{
|
{
|
||||||
foreach (var item in param)
|
foreach (var item in param)
|
||||||
{
|
{
|
||||||
@@ -307,7 +326,7 @@ namespace BeWo.View.Detail
|
|||||||
else
|
else
|
||||||
GoalTree.Remove(currentNode.Current);
|
GoalTree.Remove(currentNode.Current);
|
||||||
}
|
}
|
||||||
private void DeactivateNode(MassnahmenHistoryNodeParameter currentNode)
|
private void DeactivateNode(NodeRelation currentNode)
|
||||||
{
|
{
|
||||||
var newItem = currentNode.Current;
|
var newItem = currentNode.Current;
|
||||||
var parent = currentNode.Parent;
|
var parent = currentNode.Parent;
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ namespace BeWo.View.Detail
|
|||||||
break;
|
break;
|
||||||
case "Bearbeiten":
|
case "Bearbeiten":
|
||||||
if (selectedItem != null)
|
if (selectedItem != null)
|
||||||
EditTreeItem(selectedItem.GoalEntryVM);
|
StartEditTreeItem(selectedItem.GoalEntryVM);
|
||||||
break;
|
break;
|
||||||
case "Einzelnes Element kopieren":
|
case "Einzelnes Element kopieren":
|
||||||
if (selectedItem != null)
|
if (selectedItem != null)
|
||||||
@@ -480,7 +480,7 @@ namespace BeWo.View.Detail
|
|||||||
}
|
}
|
||||||
|
|
||||||
item.Items.Sort(CompareToCustom);
|
item.Items.Sort(CompareToCustom);
|
||||||
|
|
||||||
//item.Items.Sort((x, y) => x.GoalEntryVM?.DisplayName?.CompareTo(y.GoalEntryVM?.DisplayName) ?? string.Compare(string.Empty, y.GoalEntryVM?.DisplayName, StringComparison.Ordinal));
|
//item.Items.Sort((x, y) => x.GoalEntryVM?.DisplayName?.CompareTo(y.GoalEntryVM?.DisplayName) ?? string.Compare(string.Empty, y.GoalEntryVM?.DisplayName, StringComparison.Ordinal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -574,7 +574,7 @@ namespace BeWo.View.Detail
|
|||||||
|
|
||||||
_History.ClearHistory();
|
_History.ClearHistory();
|
||||||
}
|
}
|
||||||
private static void EditTreeItem(ValueListEntryVM valueListEntry)
|
private void StartEditTreeItem(ValueListEntryVM valueListEntry)
|
||||||
{
|
{
|
||||||
if (valueListEntry == null) return;
|
if (valueListEntry == null) return;
|
||||||
if (valueListEntry.IsNew)
|
if (valueListEntry.IsNew)
|
||||||
@@ -595,7 +595,14 @@ namespace BeWo.View.Detail
|
|||||||
beWoWindow.Close();
|
beWoWindow.Close();
|
||||||
};
|
};
|
||||||
|
|
||||||
control.SaveButtonClicked += () => beWoWindow.Close();
|
control.SaveButtonClicked += () =>
|
||||||
|
{
|
||||||
|
EditTreeItem(valueListEntry);
|
||||||
|
|
||||||
|
valueListEntry.CommitToDataContract();
|
||||||
|
|
||||||
|
beWoWindow.Close();
|
||||||
|
};
|
||||||
|
|
||||||
beWoWindow.Height = 200;
|
beWoWindow.Height = 200;
|
||||||
beWoWindow.Width = 500;
|
beWoWindow.Width = 500;
|
||||||
@@ -762,7 +769,7 @@ namespace BeWo.View.Detail
|
|||||||
TraverseTreeViewItem(child);
|
TraverseTreeViewItem(child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddTreeItemWithControl(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType, string viewHeader)
|
public void AddTreeItemWithControl(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType, string viewHeader)
|
||||||
{
|
{
|
||||||
var control = new ValueListEntryEditControl(new ValueListEntryVM(new ValueListEntryDC()), null);
|
var control = new ValueListEntryEditControl(new ValueListEntryVM(new ValueListEntryDC()), null);
|
||||||
@@ -797,7 +804,7 @@ namespace BeWo.View.Detail
|
|||||||
beWoWindow.rootGroupBox.Header = viewHeader;
|
beWoWindow.rootGroupBox.Header = viewHeader;
|
||||||
beWoWindow.ShowDialog();
|
beWoWindow.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddTreeItem(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType, string description = null, string abbreviation = null, string notice = null)
|
private void AddTreeItem(SupportConceptGoalTreeItem parent, ValueListEntryType valueListEntryType, string description = null, string abbreviation = null, string notice = null)
|
||||||
{
|
{
|
||||||
var param = _TreeTrimmer.DoAddAction(parent, valueListEntryType, description, abbreviation, notice);
|
var param = _TreeTrimmer.DoAddAction(parent, valueListEntryType, description, abbreviation, notice);
|
||||||
@@ -812,7 +819,7 @@ namespace BeWo.View.Detail
|
|||||||
}
|
}
|
||||||
private void DeleteTreeItem(SupportConceptGoalTreeItem selectedItem)
|
private void DeleteTreeItem(SupportConceptGoalTreeItem selectedItem)
|
||||||
{
|
{
|
||||||
var del = _TreeTrimmer.DoDeleteAction(new MassnahmenHistoryNodeParameter(selectedItem));
|
var del = _TreeTrimmer.DoDeleteAction(new MassnahmenHistoryRecord.NodeRelation(selectedItem));
|
||||||
|
|
||||||
_History.RecordDelete(del);
|
_History.RecordDelete(del);
|
||||||
}
|
}
|
||||||
@@ -833,6 +840,12 @@ namespace BeWo.View.Detail
|
|||||||
|
|
||||||
_History.RecordMove(record);
|
_History.RecordMove(record);
|
||||||
}
|
}
|
||||||
|
private void EditTreeItem(ValueListEntryVM valueListEntry)
|
||||||
|
{
|
||||||
|
var param = _TreeTrimmer.DoEditAction(valueListEntry.DataContract, valueListEntry);
|
||||||
|
|
||||||
|
_History.RecordEdit(param);
|
||||||
|
}
|
||||||
|
|
||||||
private SupportConceptGoalTreeItem GetNearestContainer(UIElement element)
|
private SupportConceptGoalTreeItem GetNearestContainer(UIElement element)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user