using System.Linq; using System.Windows.Media; using BS.Shared.DataContracts.ClientPartials; namespace BS.Shared.DataContracts.Compact { public partial class CompactTeamDC : IFilterableDC, IMoKSearchableDC { public ActivationTypeId ActivationType { get => ActivationTypeId.Active; set { } } public string DetailDescription => ToString(); public string FilterRelevants => Name + " " + LeaderString + " " + Leader2String + " " + Leader3String; public string IconPath => @"..\..\Ressources\Icons\UserGroupBusinessDisabled.png"; public string SimpleDescription => Name; public bool SupportsActivationType => false; public long Version { get => TeamVersion; set => TeamVersion = value; } public override bool Equals(object obj) { if (obj is CompactTeamDC) { return this.TeamOid == ((CompactTeamDC)obj).TeamOid; } return false; } public override int GetHashCode() { return this.GetType().Name.GetHashCode() ^ this.TeamOid.GetHashCode(); } public override string ToString() { var leaderNames = new[] { LeaderString, Leader2String, Leader3String }.Where(l => !string.IsNullOrEmpty(l)); var leaderString = string.Join(", ", leaderNames); if (!string.IsNullOrEmpty(leaderString)) { return this.Name + ", Leitung: " + leaderString; } return this.Name; } public SolidColorBrush FilterableBrush => new SolidColorBrush(Colors.Transparent); public long EntityOid => TeamOid; } }