using System.Windows; using BeWo.Validation; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; namespace BeWo.ViewModel { public class SupportConceptApprovalPeriodEmployeeRelVM : AbstractDCMapperVM { public static string PropertyName_Employee = "Employee"; public static string PropertyName_Betreuungsschluessel = "Betreuungsschluessel"; public static string PropertyName_IsAbsolut = "IsAbsolut"; public static string PropertyName_EmployeeString = "EmployeeString"; private CompactEmployeeDC _Employee; private bool _IsAbsolut; private decimal _Betreuungsschluessel; [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public CompactEmployeeDC Employee { get { return _Employee; } set { if (AreDifferent(_Employee, value)) { _Employee = value; StoreDirtyInformation(AreDifferent(DataContract.Employee, value), PropertyName_Employee); FirePropertyChanged(PropertyName_Employee); FirePropertyChanged(PropertyName_EmployeeString); } } } [ValidationAttribute(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public string EmployeeString { get { return _Employee.ToStringNullCheck(); } // Validation Workaround set { } } public decimal Betreuungsschluessel { get { return _Betreuungsschluessel; } set { if (AreDifferent(_Betreuungsschluessel, value)) { _Betreuungsschluessel = value; StoreDirtyInformation(AreDifferent(DataContract.Betreuungsschluessel, value), PropertyName_Betreuungsschluessel); FirePropertyChanged(PropertyName_Betreuungsschluessel); } } } public bool IsProzentual { get { return !IsAbsolut; } set { IsAbsolut = !value; } } public bool IsAbsolut { get { return _IsAbsolut; } set { if (AreDifferent(_IsAbsolut, value)) { _IsAbsolut = value; StoreDirtyInformation(AreDifferent(DataContract.IsAbsolut, value), PropertyName_IsAbsolut); FirePropertyChanged(PropertyName_IsAbsolut); } } } public SupportConceptApprovalPeriodEmployeeRelVM(SupportConceptApprovalPeriodEmployeeRelDC pDataContract) : base(pDataContract, pDataContract.SupportConceptApprovalPeriod2EmployeeOid == null) { } protected override void InitByDataContract(SupportConceptApprovalPeriodEmployeeRelDC pDataContract) { //if (!IsNew) //{ _Employee = pDataContract.Employee; _Betreuungsschluessel = pDataContract.Betreuungsschluessel; _IsAbsolut = pDataContract.IsAbsolut; //} } protected override SupportConceptApprovalPeriodEmployeeRelDC MapToDataContract(SupportConceptApprovalPeriodEmployeeRelDC pDataContract, bool doCommit) { pDataContract.Employee = _Employee; pDataContract.Betreuungsschluessel = _Betreuungsschluessel; pDataContract.IsAbsolut = _IsAbsolut; return pDataContract; } } }