Files
BeWoPlaner/Shared/DataContracts/SupportConceptDC.cs

136 lines
4.7 KiB
C#
Raw Normal View History

2016-06-27 01:45:38 +02:00
using System;
using System.Collections.Generic;
2024-12-30 16:12:47 +01:00
using System.Diagnostics;
using System.Linq;
2016-06-27 01:45:38 +02:00
using System.Runtime.Serialization;
using BS.Shared.Core;
2016-06-27 01:45:38 +02:00
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts
{
[DataContract]
2024-12-30 16:12:47 +01:00
[DebuggerDisplay("{SupportConceptOid} {Customer}")]
2016-06-27 01:45:38 +02:00
public class SupportConceptDC : IDataContract
{
private List<SupportConceptCostBearerRelDC> _CostBearerRelations;
private List<RatingDC> _Ratings;
2016-06-27 01:45:38 +02:00
[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;
}
}
2016-06-27 01:45:38 +02:00
[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; }
2018-10-08 11:57:16 +02:00
[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;
}
2016-06-27 01:45:38 +02:00
}
}