using System; using System.Collections.Generic; using System.Runtime.Serialization; using BS.Shared.Core; namespace BS.Shared.DataContracts { public class PreisDC : IDataContract { private List _CostRatePeriods; [DataMember] public bool IsSystemEntry { get; set; } [DataMember] public long? PreisOid { get; set; } [DataMember] public ActivationTypeId PreisIsActive { get; set; } [DataMember] public string PreisNotice { get; set; } [DataMember] public DateTime? PreisInsTs { get; set; } [DataMember] public string PreisInsUser { get; set; } [DataMember] public long? PreisVersion { get; set; } [DataMember] public string PreisUdpUser { get; set; } [DataMember] public SystemEntryID? PreisSystemEntryID { get; set; } [DataMember] public string Name { get; set; } [DataMember] public decimal? Betrag { get; set; } public override string ToString() { return Name + " (" + (Betrag.HasValue ? Math.Round(Betrag.Value, 2) : 0) + " Std)"; } public override bool Equals(object obj) { if (obj is PreisDC preis) { return PreisOid == preis.PreisOid; } return false; } public override int GetHashCode() { return GetType().Name.GetHashCode() ^ PreisOid.GetHashCode(); } [DataMember] public bool IsDefault { get; set; } public bool DoNotCheckOverlapping { get; set; } [DataMember] public List CostRatePeriods { get => this._CostRatePeriods ?? (this._CostRatePeriods = new List()); set => this._CostRatePeriods = value; } [DataMember] public ActivationTypeId ActivationType { get; set; } } }