using System; using BeWo.Validation; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; namespace BeWo.ViewModel { public class BargeldtransaktionsVM : AbstractDCMapperVM { //public static string PropertyName_Customer = "Customer"; public static string PropertyName_Zahlungstyp = "Zahlungstyp"; public static string PropertyName_Zahlungsdatum = "Zahlungsdatum"; public static string PropertyName_Betrag = "Betrag"; public static string PropertyName_Transaktionskassenbestand = "Transaktionskassenbestand"; public static string PropertyName_Belegnummer = "Belegnummer"; public static string PropertyName_Notice = "Notice"; //private CompactCustomerDC _Customer; private EnumValue _Zahlungstyp; private DateTime? _Zahlungsdatum; private decimal? _Betrag; private decimal? _Transaktionskassenbestand; private string _Belegnummer; private string _Notice; //public CompactCustomerDC Customer //{ // get { return _Customer; } // set // { // if (!AreDifferent(_Customer, value)) // { // return; // } // _Customer = value; // StoreDirtyInformation(AreDifferent(DataContract.Customer, value), PropertyName_Customer); // FirePropertyChanged(PropertyName_Customer); // } //} public string Notice { get { return _Notice; } set { if (AreDifferent(_Notice, value)) { _Notice = value; StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice); FirePropertyChanged(PropertyName_Notice); } } } public string Belegnummer { get { return _Belegnummer; } set { if (AreDifferent(_Belegnummer, value)) { _Belegnummer = value; StoreDirtyInformation(AreDifferent(DataContract.Belegnummer, value), PropertyName_Belegnummer); FirePropertyChanged(PropertyName_Belegnummer); } } } [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public EnumValue Zahlungstyp { get { return _Zahlungstyp; } set { if (!AreDifferent(_Zahlungstyp, value)) { return; } _Zahlungstyp = value; StoreDirtyInformation(AreDifferent(DataContract.Zahlungstyp, value), PropertyName_Zahlungstyp); FirePropertyChanged(PropertyName_Zahlungstyp); } } [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)] public DateTime? Zahlungsdatum { get { return _Zahlungsdatum; } set { if (!AreDifferent(_Zahlungsdatum, value)) { return; } _Zahlungsdatum = value; StoreDirtyInformation(AreDifferent(DataContract.Zahlungsdatum, value), PropertyName_Zahlungsdatum); FirePropertyChanged(PropertyName_Zahlungsdatum); } } [Validation(ValidationRule = ValidationRules.GreaterThanZero)] public decimal? Betrag { get { return _Betrag; } set { if (!AreDifferent(_Betrag, value)) { return; } _Betrag = value; StoreDirtyInformation(AreDifferent(DataContract.Betrag, value), PropertyName_Betrag); FirePropertyChanged(PropertyName_Betrag); } } public String InsUser { get { return DataContract.InsUser; } } public decimal? Transaktionskassenbestand { get { return _Transaktionskassenbestand; } set { if (!AreDifferent(_Transaktionskassenbestand, value)) return; _Transaktionskassenbestand = value; StoreDirtyInformation(AreDifferent(DataContract.Transaktionskassenbestand, value), PropertyName_Transaktionskassenbestand); FirePropertyChanged(PropertyName_Transaktionskassenbestand); } } public BargeldtransaktionsVM(BargeldtransaktionDC pDataContract) : base(pDataContract, pDataContract.BargeldtransaktionOid == null) { } protected override void InitByDataContract(BargeldtransaktionDC pDataContract) { if (!IsNew) { _Zahlungsdatum = pDataContract.Zahlungsdatum; _Betrag = pDataContract.Betrag; //_Customer = pDataContract.Customer; _Zahlungstyp = new EnumValue(pDataContract.Zahlungstyp, EnumTranslations.AllTranslations[pDataContract.Zahlungstyp]); _Transaktionskassenbestand = pDataContract.Transaktionskassenbestand; _Notice = pDataContract.Notice; _Belegnummer = pDataContract.Belegnummer; } } protected override BargeldtransaktionDC MapToDataContract(BargeldtransaktionDC pDataContract, bool doCommit) { pDataContract.Zahlungsdatum = _Zahlungsdatum; pDataContract.Betrag = _Betrag; //pDataContract.Customer = _Customer; pDataContract.Zahlungstyp = _Zahlungstyp.Enum; pDataContract.Transaktionskassenbestand = _Transaktionskassenbestand; pDataContract.Notice = _Notice; pDataContract.Belegnummer = _Belegnummer; return pDataContract; } } }