Files
BeWoPlaner/BeWo/SchulbegleitenderDienst/ViewModel/SbdConfigVM.cs
2026-07-14 14:40:39 +02:00

69 lines
1.9 KiB
C#

using System.Collections.Generic;
using BeWo.Validation;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared.DataContracts;
namespace BeWo.SchulbegleitenderDienst.ViewModel
{
public class SbdConfigVM : AbstractDCMapperVM<SbdConfigDC>
{
public static string PropertyName_Stundensaetze = "Stundensaetze";
public static string PropertyName_Feiertage = "Feiertage";
private CostRatePeriodListVM _Stundensaetze;
private FeiertagListVM _Feiertage;
public SbdConfigVM(SbdConfigDC pDC) : base(pDC, false) { }
public override bool IsDirty
{
get
{
if (BS.Shared.Core.Utils.IsAnyNull(Stundensaetze, Feiertage))
{
return false;
}
return base.IsDirty || Stundensaetze.IsDirty || Feiertage.IsDirty;
}
}
public CostRatePeriodListVM Stundensaetze
{
get { return _Stundensaetze; }
set
{
_Stundensaetze = value;
FirePropertyChanged(PropertyName_Stundensaetze);
}
}
public FeiertagListVM Feiertage
{
get => _Feiertage;
set
{
_Feiertage = value;
FirePropertyChanged(PropertyName_Feiertage);
}
}
protected override void InitByDataContract(SbdConfigDC pDataContract)
{
Stundensaetze = new CostRatePeriodListVM(pDataContract.Stundensaetze ?? (pDataContract.Stundensaetze = new List<CostRatePeriodDC>()));
Feiertage = new FeiertagListVM(pDataContract.FreieTage ?? (pDataContract.FreieTage = new List<FeiertagDC>()));
}
protected override SbdConfigDC MapToDataContract(SbdConfigDC pDataContract, bool doCommit)
{
pDataContract.Stundensaetze = _Stundensaetze.CopyToDCList(doCommit);
pDataContract.FreieTage = Feiertage.CopyToDCList(doCommit);
return pDataContract;
}
}
}