using BS.Shared.DataContracts; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace BeWo.ViewModel { public class DocumentTreeItemVM : AbstractDCMapperVM { private long? _DocTreeItemOid; private long? _ParentOid; private string _Name; private string _SortName; private string _Tooltip; public DocumentTreeItemVM(DocumentTreeItemDC dc) : base(dc, dc.DocTreeItemOid == null) { InitByDataContract(dc); } public long? DocTreeItemOid { get { return _DocTreeItemOid; } set { _DocTreeItemOid = value; StoreDirtyInformation(AreDifferent(DataContract.DocTreeItemOid, value), nameof(_DocTreeItemOid)); FirePropertyChanged(nameof(_DocTreeItemOid)); } } public long? ParentOid { get { return _ParentOid; } set { _ParentOid = value; StoreDirtyInformation(AreDifferent(DataContract.ParentOid, value), nameof(_ParentOid)); FirePropertyChanged(nameof(_ParentOid)); } } public string Name { get { return _Name; } set { _Name = value; StoreDirtyInformation(AreDifferent(DataContract.Name, value), nameof(_Name)); FirePropertyChanged(nameof(_Name)); } } public string SortName { get { return _SortName ?? _Name; } set { _SortName = value; } } public string Description { get { if (this.DataContract.Dokumentvorlage != null) { return this.DataContract.Dokumentvorlage.Beschreibung; } return null; } } public string Tooltip { get { return _Tooltip; } set { _Tooltip = value; StoreDirtyInformation(AreDifferent(DataContract.Tooltip, value), nameof(_Tooltip)); FirePropertyChanged(nameof(_Tooltip)); } } protected override void InitByDataContract(DocumentTreeItemDC pDataContract) { _DocTreeItemOid = pDataContract.DocTreeItemOid; _ParentOid = pDataContract.ParentOid; _Name = pDataContract.Name; _Tooltip = pDataContract.Tooltip; } protected override DocumentTreeItemDC MapToDataContract(DocumentTreeItemDC pDataContract, bool doCommit) { pDataContract.DocTreeItemOid = _DocTreeItemOid; pDataContract.ParentOid = _ParentOid; pDataContract.Name = _Name; pDataContract.Tooltip = _Tooltip; return pDataContract; } } }