using BeWo.Validation; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; namespace BeWo.ViewModel { public class CustomerCostBearerRealtionVM : AbstractDCMapperVM { public static string PropertyName_CostBearer = "CostBearer"; public static string PropertyName_CostBearerString = "CostBearerString"; public static string PropertyName_Notice = "Notice"; public static string PropertyName_ReferenceNumber = "ReferenceNumber"; private CompactOrganisationDC _CostBearer; private string _Notice; private string _ReferenceNumber; public CustomerCostBearerRealtionVM(CustomerCostBearerRelationDC pDC) : base(pDC, pDC.Customer2CostBearerOid == null) { } public CompactOrganisationDC CostBearer { get { return this._CostBearer; } set { if (this.AreDifferent(this._CostBearer, value)) { this._CostBearer = value; this.StoreDirtyInformation(this.AreDifferent(this.DataContract.CostBearer, value), PropertyName_CostBearer); this.FirePropertyChanged(PropertyName_CostBearer); this.FirePropertyChanged(PropertyName_CostBearerString); } } } [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public string CostBearerString { get { return this._CostBearer.ToStringNullCheck(); } // validation workaround set { } } public string Notice { get { return this._Notice; } set { if (this.AreDifferent(this._Notice, value)) { this._Notice = value; this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Notice, value), PropertyName_Notice); this.FirePropertyChanged(PropertyName_Notice); } } } [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public string ReferenceNumber { get { return this._ReferenceNumber; } set { if (this.AreDifferent(this._ReferenceNumber, value)) { this._ReferenceNumber = value; this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ReferenceNumber, value), PropertyName_ReferenceNumber); this.FirePropertyChanged(PropertyName_ReferenceNumber); } } } protected override void InitByDataContract(CustomerCostBearerRelationDC pDataContract) { if (!this.IsNew) { this._CostBearer = pDataContract.CostBearer; this._Notice = pDataContract.Notice; this._ReferenceNumber = pDataContract.ReferenceNumber; } } protected override CustomerCostBearerRelationDC MapToDataContract(CustomerCostBearerRelationDC pDataContract, bool doCommit) { pDataContract.CostBearer = this._CostBearer; pDataContract.Notice = this._Notice; pDataContract.ReferenceNumber = this._ReferenceNumber; return pDataContract; } } }