109 lines
3.1 KiB
C#
109 lines
3.1 KiB
C#
using System;
|
|
using System.Runtime.Serialization;
|
|
using BS.Shared.DataContracts.Compact;
|
|
|
|
|
|
namespace BS.Shared.DataContracts
|
|
{
|
|
[DataContract]
|
|
public class AppointmentDC : IDataContract
|
|
{
|
|
[DataMember]
|
|
public long? AppointmentOid { get; set; }
|
|
|
|
[DataMember]
|
|
public long? AppointmentVersion { get; set; }
|
|
|
|
[DataMember]
|
|
public object ContextObject { get; set; }
|
|
|
|
[DataMember]
|
|
public string Subject { get; set; }
|
|
|
|
[DataMember]
|
|
public string Description { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime StartDate { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime EndDate { get; set; }
|
|
|
|
[DataMember]
|
|
public CompactEmployeeDC ResponsibleEmployee { get; set; }
|
|
|
|
[DataMember]
|
|
public CompactEmployeeDC CreatorEmployee { get; set; }
|
|
|
|
[DataMember]
|
|
public int LabelId { get; set; }
|
|
|
|
[DataMember]
|
|
public bool AllDay { get; set; }
|
|
|
|
[DataMember]
|
|
public long? CustomerOid { get; set; }
|
|
|
|
[DataMember]
|
|
public long? EmployeeOid { get; set; }
|
|
|
|
[DataMember]
|
|
public int Status { get; set; }
|
|
|
|
[DataMember]
|
|
public int Type { get; set; }
|
|
|
|
[DataMember]
|
|
public string Location { get; set; }
|
|
|
|
[DataMember]
|
|
public string RecurrenceInfo { get; set; }
|
|
|
|
[DataMember]
|
|
public string ReminderInfo { get; set; }
|
|
|
|
[DataMember]
|
|
public AppointmentCategoryDC AppointmentCategory { get; set; }
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj is AppointmentDC)
|
|
{
|
|
var y = (AppointmentDC) obj;
|
|
if (AppointmentOid == null && y.AppointmentOid == null)
|
|
{
|
|
return GetHashCode() == y.GetHashCode();
|
|
}
|
|
|
|
if (AppointmentOid != null && y.AppointmentOid != null)
|
|
{
|
|
return AppointmentOid == y.AppointmentOid;
|
|
}
|
|
|
|
if (StartDate == y.StartDate &&
|
|
EndDate == y.EndDate &&
|
|
Type == y.Type &&
|
|
Subject == y.Subject &&
|
|
Description == y.Description &&
|
|
CustomerOid == y.CustomerOid &&
|
|
EmployeeOid == y.EmployeeOid)
|
|
{
|
|
if (AppointmentCategory == null && y.AppointmentCategory == null)
|
|
return true;
|
|
if (AppointmentCategory != null && y.AppointmentCategory != null &&
|
|
AppointmentCategory.AppointmentCategoryOid == y.AppointmentCategory.AppointmentCategoryOid)
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return AppointmentOid.HasValue
|
|
? GetType().Name.GetHashCode() ^ AppointmentOid.GetHashCode()
|
|
: base.GetHashCode();
|
|
}
|
|
}
|
|
} |