using BeWo.Validation; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; namespace BeWo.ViewModel { public class CustomerTokenRelationVM : AbstractDCMapperVM { //public static string PropertyName_Notice = "Notice"; public static string PropertyName_Token = "Token"; public static string PropertyName_TokenString = "TokenString"; public static string PropertyName_Customer = "Customer"; //private string _Notice; private CompactTokenDC _Token; private CustomerDC _Customer; public CustomerTokenRelationVM(CustomerTokenRelationDC pDC) : base(pDC, pDC.Customer2TokenOid == null) { } //public string Notice //{ // get { return _Notice; } // set // { // if (AreDifferent(_Notice, value)) // { // _Notice = value; // StoreDirtyInformation(AreDifferent(DataContract.Customer2TokenNotice, value), PropertyName_Notice); // FirePropertyChanged(PropertyName_Notice); // } // } //} public CompactTokenDC Token { get { return _Token; } set { if (AreDifferent(_Token, value)) { _Token = value; StoreDirtyInformation(AreDifferent(DataContract.Token, value), PropertyName_Token); FirePropertyChanged(PropertyName_Token); FirePropertyChanged(PropertyName_TokenString); } } } public CustomerDC Customer { get { return _Customer; } set { if (AreDifferent(_Customer, value)) { _Customer = value; StoreDirtyInformation(AreDifferent(DataContract.Customer, value), PropertyName_Customer); FirePropertyChanged(PropertyName_Customer); } } } [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public string TokenString { get { return _Token.ToStringNullCheck(); } // Validation Workaround set { } } protected override void InitByDataContract(CustomerTokenRelationDC pDataContract) { if (!IsNew) { //_Notice = pDataContract.Customer2TokenNotice; _Token = pDataContract.Token; _Customer = pDataContract.Customer; } } protected override CustomerTokenRelationDC MapToDataContract(CustomerTokenRelationDC pDataContract, bool doCommit) { //pDataContract.Customer2TokenNotice = _Notice; pDataContract.Token = _Token; pDataContract.Customer = _Customer; return pDataContract; } } }