|
@@ -4,17 +4,15 @@ using System.Collections.ObjectModel;
|
|
|
using System.ComponentModel;
|
|
|
using System.Linq;
|
|
|
using System.Linq.Expressions;
|
|
|
-using InABox.Core;
|
|
|
-using Xamarin.Forms;
|
|
|
|
|
|
-namespace InABox.Mobile
|
|
|
+namespace InABox.Core
|
|
|
{
|
|
|
- public class DynamicTreeNode : INotifyPropertyChanged
|
|
|
+ public class CoreTreeNode : INotifyPropertyChanged
|
|
|
{
|
|
|
|
|
|
- private DynamicTreeNodes _owner;
|
|
|
+ private CoreTreeNodes _owner;
|
|
|
|
|
|
- public ObservableCollection<DynamicTreeNode> Children => _owner.GetChilden(_id);
|
|
|
+ public ObservableCollection<CoreTreeNode> Children => _owner.GetChilden(_id);
|
|
|
|
|
|
private Guid _id;
|
|
|
public Guid ID
|
|
@@ -49,10 +47,10 @@ namespace InABox.Mobile
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private ImageSource? _image;
|
|
|
- public ImageSource? Image
|
|
|
+ private object _image;
|
|
|
+ public object Image
|
|
|
{
|
|
|
- get { return _image; }
|
|
|
+ get => _image;
|
|
|
set
|
|
|
{
|
|
|
_image = value;
|
|
@@ -67,19 +65,19 @@ namespace InABox.Mobile
|
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
|
}
|
|
|
|
|
|
- public DynamicTreeNode(DynamicTreeNodes owner)
|
|
|
+ public CoreTreeNode(CoreTreeNodes owner)
|
|
|
{
|
|
|
_owner = owner;
|
|
|
_description = "";
|
|
|
}
|
|
|
|
|
|
- public DynamicTreeNode(DynamicTreeNodes owner, Guid id, Guid parent) : this(owner)
|
|
|
+ public CoreTreeNode(CoreTreeNodes owner, Guid id, Guid parent) : this(owner)
|
|
|
{
|
|
|
_id = id;
|
|
|
_parent = parent;
|
|
|
}
|
|
|
|
|
|
- public DynamicTreeNode GetParent() => _owner.Nodes.FirstOrDefault(x => x.ID == _parent);
|
|
|
+ public CoreTreeNode GetParent() => _owner.Nodes.FirstOrDefault(x => x.ID == _parent);
|
|
|
|
|
|
public int Index()
|
|
|
{
|
|
@@ -107,27 +105,27 @@ namespace InABox.Mobile
|
|
|
|
|
|
}
|
|
|
|
|
|
- public class DynamicTreeNodes
|
|
|
+ public class CoreTreeNodes
|
|
|
{
|
|
|
|
|
|
- private List<DynamicTreeNode> _nodes;
|
|
|
- public ObservableCollection<DynamicTreeNode> Nodes => new ObservableCollection<DynamicTreeNode>(_nodes.Where(x => x.Parent == Guid.Empty));
|
|
|
+ private List<CoreTreeNode> _nodes;
|
|
|
+ public ObservableCollection<CoreTreeNode> Nodes => new ObservableCollection<CoreTreeNode>(_nodes.Where(x => x.Parent == Guid.Empty));
|
|
|
|
|
|
- public DynamicTreeNode? this[Guid id] => _nodes.FirstOrDefault(x => x.ID == id);
|
|
|
+ public CoreTreeNode? this[Guid id] => _nodes.FirstOrDefault(x => x.ID == id);
|
|
|
|
|
|
- public DynamicTreeNodes()
|
|
|
+ public CoreTreeNodes()
|
|
|
{
|
|
|
- _nodes = new List<DynamicTreeNode>();
|
|
|
+ _nodes = new List<CoreTreeNode>();
|
|
|
}
|
|
|
|
|
|
- public DynamicTreeNode Add(Guid id, Guid parent)
|
|
|
+ public CoreTreeNode Add(Guid id, Guid parent)
|
|
|
{
|
|
|
- var node = new DynamicTreeNode(this, id, parent);
|
|
|
+ var node = new CoreTreeNode(this, id, parent);
|
|
|
_nodes.Add(node);
|
|
|
return node;
|
|
|
}
|
|
|
|
|
|
- public DynamicTreeNode Find(Guid id) => _nodes.FirstOrDefault(x => x.ID == id);
|
|
|
+ public CoreTreeNode Find(Guid id) => _nodes.FirstOrDefault(x => x.ID == id);
|
|
|
|
|
|
public void GetChildren(List<Guid> nodes, Guid id)
|
|
|
{
|
|
@@ -137,10 +135,10 @@ namespace InABox.Mobile
|
|
|
GetChildren(nodes, child.ID);
|
|
|
}
|
|
|
|
|
|
- public ObservableCollection<DynamicTreeNode> GetChilden(Guid id)
|
|
|
+ public ObservableCollection<CoreTreeNode> GetChilden(Guid id)
|
|
|
{
|
|
|
|
|
|
- return new ObservableCollection<DynamicTreeNode>(_nodes.Where(x => x.Parent.Equals(id) && (x.ID != id)));
|
|
|
+ return new ObservableCollection<CoreTreeNode>(_nodes.Where(x => x.Parent.Equals(id) && (x.ID != id)));
|
|
|
}
|
|
|
|
|
|
public void Load<T>(CoreTable table, Expression<Func<T, Guid>> id, Expression<Func<T, Guid>> parentid, Expression<Func<T, String>> description)
|