Files
BeWoPlaner/BeWo/ViewModel/OvertimeVM.cs

112 lines
2.5 KiB
C#
Raw Normal View History

2016-06-27 01:45:38 +02:00
using System;
using System.Collections.Generic;
using BeWo.Validation;
using BS.Shared.DataContracts;
namespace BeWo.ViewModel
{
public class OvertimeVM : AbstractDCMapperVM<OvertimeDC>
{
public static string PropertyName_Notice = "Notice";
public static string PropertyName_Date = "Date";
public static string PropertyName_Auszahlungsart = "Auszahlungsart";
public static string PropertyName_Betrag = "Betrag";
private AuszahlungsartDC _Auszahlungsart;
private DateTime? _Date;
private string _Notice;
private decimal _Betrag;
public OvertimeVM(OvertimeDC pDC)
: base(pDC, pDC.OvertimeOid == null)
{
}
public string Notice
{
get { return _Notice; }
set
{
if (AreDifferent(_Notice, value))
{
_Notice = value;
StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
FirePropertyChanged(PropertyName_Notice);
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public DateTime? Date
{
get { return _Date; }
set
{
if (AreDifferent(_Date, value))
{
_Date = value;
StoreDirtyInformation(AreDifferent(DataContract.Date, value), PropertyName_Date);
FirePropertyChanged(PropertyName_Date);
}
}
}
public decimal Betrag
{
get { return _Betrag; }
set
{
if (AreDifferent(_Betrag, value))
{
_Betrag = value;
StoreDirtyInformation(AreDifferent(DataContract.Betrag, value), PropertyName_Betrag);
FirePropertyChanged(PropertyName_Betrag);
}
}
}
public AuszahlungsartDC Auszahlungsart
{
get { return _Auszahlungsart; }
set
{
if (AreDifferent(_Auszahlungsart, value))
{
_Auszahlungsart = value;
StoreDirtyInformation(!AreEqual(value, DataContract.Auszahlungsart), PropertyName_Auszahlungsart);
FirePropertyChanged(PropertyName_Auszahlungsart);
}
}
}
protected override void InitByDataContract(OvertimeDC pDataContract)
{
if (IsNew) return;
_Notice = pDataContract.Notice;
_Date = pDataContract.Date;
_Auszahlungsart = pDataContract.Auszahlungsart;
_Betrag = pDataContract.Betrag;
}
protected override OvertimeDC MapToDataContract(OvertimeDC pDataContract, bool doCommit)
{
pDataContract.Notice = _Notice;
pDataContract.Date = _Date;
pDataContract.Betrag = _Betrag;
if(_Auszahlungsart != null)
pDataContract.Auszahlungsart = _Auszahlungsart;
return pDataContract;
}
}
}