136 lines
4.7 KiB
C#
136 lines
4.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Runtime.Serialization;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts.Compact;
|
|
|
|
namespace BS.Shared.DataContracts
|
|
{
|
|
[DataContract]
|
|
[DebuggerDisplay("{SupportConceptOid} {Customer}")]
|
|
|
|
public class SupportConceptDC : IDataContract
|
|
{
|
|
private List<SupportConceptCostBearerRelDC> _CostBearerRelations;
|
|
private List<RatingDC> _Ratings;
|
|
|
|
[DataMember]
|
|
public ActivationTypeId ActivationType { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? ApprovalDate { get; set; }
|
|
|
|
[DataMember]
|
|
public bool? Conference { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? ConferenceDate { get; set; }
|
|
|
|
[DataMember]
|
|
public string ConferenceVenue { get; set; }
|
|
|
|
[DataMember]
|
|
public bool? ConsultingNeeded { get; set; }
|
|
|
|
[DataMember]
|
|
public List<SupportConceptCostBearerRelDC> CostBearerRelations
|
|
{
|
|
get
|
|
{
|
|
return this._CostBearerRelations ?? (this._CostBearerRelations = new List<SupportConceptCostBearerRelDC>());
|
|
}
|
|
|
|
set
|
|
{
|
|
this._CostBearerRelations = value;
|
|
}
|
|
}
|
|
|
|
[DataMember]
|
|
public List<RatingDC> Ratings
|
|
{
|
|
get
|
|
{
|
|
return this._Ratings ?? (this._Ratings = new List<RatingDC>());
|
|
}
|
|
|
|
set
|
|
{
|
|
this._Ratings = value;
|
|
}
|
|
}
|
|
|
|
[DataMember]
|
|
public CompactCustomerDC Customer { get; set; }
|
|
|
|
[DataMember]
|
|
public UserDC DocumentUploadLockedBy { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? DocumentUploadLockedOn { get; set; }
|
|
|
|
[DataMember]
|
|
public List<ValueListEntryDC> Goals { get; set; }
|
|
|
|
[DataMember]
|
|
public string Notice { get; set; }
|
|
|
|
[DataMember]
|
|
public CompactEmployeeDC Originator { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? RenewalSendDate { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? RequisitionSendDate { get; set; }
|
|
|
|
[DataMember]
|
|
public long? SupportConceptOid { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime? SupportConceptSendDate { get; set; }
|
|
|
|
[DataMember]
|
|
public long? SupportConceptVersion { get; set; }
|
|
|
|
[DataMember]
|
|
public List<ServiceAccountingDC> ServiceAccountings { get; set; }
|
|
|
|
[DataMember]
|
|
public List<VarFieldDC> VarFields { get; set; }
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if(obj is SupportConceptDC sc)
|
|
{
|
|
var c = Equals(ActivationType, sc.ActivationType);
|
|
var d = Equals(ApprovalDate, sc.ApprovalDate);
|
|
var e = Equals(Conference, sc.Conference);
|
|
var f = Equals(ConferenceDate, sc.ConferenceDate);
|
|
var g = Equals(ConferenceVenue, sc.ConferenceVenue);
|
|
var h = Equals(ConsultingNeeded, sc.ConsultingNeeded);
|
|
var i = Utils.ListsEqual(CostBearerRelations.OrderBy(z => z.CostBearer2SupportConceptOid), sc.CostBearerRelations.OrderBy(z => z.CostBearer2SupportConceptOid));
|
|
var k = Utils.ListsEqual(Ratings.OrderBy(z => z.RatingOid), sc.Ratings.OrderBy(z => z.RatingOid));
|
|
var l = Equals(Customer, sc.Customer);
|
|
var m = Equals(DocumentUploadLockedBy, sc.DocumentUploadLockedBy);
|
|
var n = Equals(DocumentUploadLockedOn, sc.DocumentUploadLockedOn);
|
|
var o = Utils.ListsEqual(Goals.OrderBy(z => z.ValueListEntryOid), sc.Goals.OrderBy(z => z.ValueListEntryOid));
|
|
var p = Equals(Notice, sc.Notice);
|
|
var q = Equals(Originator, sc.Originator);
|
|
var r = Equals(RenewalSendDate, sc.RenewalSendDate);
|
|
var s = Equals(RequisitionSendDate, sc.RequisitionSendDate);
|
|
var t = Utils.ListsEqual(ServiceAccountings.OrderBy(z => z.ServiceAccountingOid), sc.ServiceAccountings.OrderBy(z => z.ServiceAccountingOid));
|
|
var u = Utils.ListsEqual(VarFields.OrderBy(z => z.VarFieldDefOid), sc.VarFields.OrderBy(z => z.VarFieldDefOid));
|
|
|
|
var x = SupportConceptOid?.Equals(sc.SupportConceptOid) ?? false;
|
|
var y = SupportConceptVersion?.Equals(sc.SupportConceptVersion) ?? false;
|
|
|
|
return c && d && e && f && g && h && i && k && l && m && n && o && p && q && r && s && t && u && x && y;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
} |