Files
BeWoPlaner/BeWo/ViewModel/DocumentTreeItemVM.cs
2025-04-17 01:11:16 +02:00

100 lines
2.9 KiB
C#

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<DocumentTreeItemDC>
{
private long? _DocTreeItemOid;
private long? _ParentOid;
private string _Name;
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 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;
}
}
}