Files
BeWoPlaner/Shared/DataContracts/AdditionalServiceGroupOfPeopleDC.cs
2016-06-27 01:45:38 +02:00

108 lines
3.0 KiB
C#

using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Windows.Media;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts
{
[DataContract]
public class AdditionalServiceGroupOfPeopleDC : IDataContract, IFilterableDC
{
[DataMember]
public long? AdditionalServiceGroupOfPeopleOid { set; get; }
[DataMember]
public long? AdditionalServiceGroupOfPeopleVersion { set; get; }
[DataMember]
public AppointmentDayOfWeek AppointmentDayOfWeek { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public List<CompactCustomerDC> CustomerList { get; set; }
public override string ToString()
{
return Name;
}
[DataMember]
public ActivationTypeId ActivationType { get; set; }
public string DetailDescription { get { return Name + "\n" + AppointmentDayOfWeek; } }
public string FilterRelevants
{
get { return "FILTERRELEVANT"; }
}
public string IconPath
{
get { return @"..\..\Ressources\Icons\UserGroupDisabled.png"; }
}
public string SimpleDescription
{
get
{
return ToString();
}
}
public bool SupportsActivationType
{
get
{
return true;
}
}
public long Version
{
get
{
return AdditionalServiceGroupOfPeopleVersion.Value;
}
set
{
AdditionalServiceGroupOfPeopleVersion = value;
}
}
public SolidColorBrush FilterableBrush { get { return new SolidColorBrush(Colors.Transparent); } }
public Brush ForegroundBrush
{
get { return new SolidColorBrush(Color.FromRgb(160, 160, 160)); }
}
public ObservableSortCollection<AdditionalServiceGroupMember> GetGroupMembers()
{
var result = new ObservableSortCollection<AdditionalServiceGroupMember>();
foreach (var customer in CustomerList)
result.Add(new AdditionalServiceGroupMember(customer, this));
return result;
}
}
public class AdditionalServiceGroupMember
{
public CompactCustomerDC Customer { get; set; }
public AppointmentDayOfWeek AppointmentDayOfWeek { get; set; }
public string GroupName { get; set; }
public AdditionalServiceGroupMember(CompactCustomerDC customer, AdditionalServiceGroupOfPeopleDC group)
{
Customer = customer;
AppointmentDayOfWeek = group.AppointmentDayOfWeek;
GroupName = group.Name;
}
}
}