using BS.Shared; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BeWo.Data.Entities { public class SupportConceptHistory : BeWoEntityBase { private DateTime? _SupportConcept_ApprovalDate; private bool? _SupportConcept_Conference; private DateTime? _SupportConcept_ConferenceDate; private string _SupportConcept_ConferenceVenue; private bool? _SupportConcept_ConsultingNeeded; private IList _SupportConcept_CostBearer2SupportConceptList; private long? _SupportConcept_CustomerOid; private long? _SupportConcept_EmployeeOid; private DateTime? _SupportConcept_RenewalSendDate; private DateTime? _SupportConcept_RequisitionSendDate; private DateTime? _SupportConcept_SupportConceptSendDate; private long? _SupportConceptOid; private StatementType _ChangeType; public SupportConceptHistory() { _Tid = TableID.SupportConceptHistory; } public virtual DateTime? SupportConcept_ApprovalDate { get { return _SupportConcept_ApprovalDate; } set { if (AreDifferent(_SupportConcept_ApprovalDate, value)) { _SupportConcept_ApprovalDate = value; } } } public virtual bool? SupportConcept_Conference { get { return _SupportConcept_Conference; } set { if (AreDifferent(_SupportConcept_Conference, value)) { _SupportConcept_Conference = value; } } } public virtual DateTime? SupportConcept_ConferenceDate { get { return _SupportConcept_ConferenceDate; } set { if (AreDifferent(_SupportConcept_ConferenceDate, value)) { _SupportConcept_ConferenceDate = value; } } } public virtual string SupportConcept_ConferenceVenue { get { return _SupportConcept_ConferenceVenue; } set { if (AreDifferent(_SupportConcept_ConferenceVenue, value)) { _SupportConcept_ConferenceVenue = value; } } } public virtual bool? SupportConcept_ConsultingNeeded { get { return _SupportConcept_ConsultingNeeded; } set { if (AreDifferent(_SupportConcept_ConsultingNeeded, value)) { _SupportConcept_ConsultingNeeded = value; } } } public virtual IList SupportConcept_CostBearer2SupportConceptList // HELP: entsprechende History zurückgeben oder das Original? { get { return _SupportConcept_CostBearer2SupportConceptList ?? (_SupportConcept_CostBearer2SupportConceptList = new List()); } set { if (AreDifferent(_SupportConcept_CostBearer2SupportConceptList, value)) { _SupportConcept_CostBearer2SupportConceptList = value; } } } public virtual long? SupportConcept_CustomerOid { get { return _SupportConcept_CustomerOid; } set { if (AreDifferent(_SupportConcept_CustomerOid, value)) { _SupportConcept_CustomerOid = value; } } } public virtual DateTime? SupportConcept_EndDate { get { DateTime? maxDate = null; foreach (CostBearer2SupportConcept cb in SupportConcept_CostBearer2SupportConceptList) { DateTime? end = null; end = cb.ApprovedEndDate; if (end == null) { end = cb.RequestedEndDate; } if (maxDate == null || (end != null && end.Value > maxDate.Value)) { maxDate = end; } } return maxDate; } } public virtual long? SupportConcept_EmployeeOid { get { return _SupportConcept_EmployeeOid; } set { if (AreDifferent(_SupportConcept_EmployeeOid, value)) { _SupportConcept_EmployeeOid = value; } } } public virtual DateTime? SupportConcept_RenewalSendDate { get { return _SupportConcept_RenewalSendDate; } set { if (AreDifferent(_SupportConcept_RenewalSendDate, value)) { _SupportConcept_RenewalSendDate = value; } } } public virtual DateTime? SupportConcept_RequisitionSendDate { get { return _SupportConcept_RequisitionSendDate; } set { if (AreDifferent(_SupportConcept_RequisitionSendDate, value)) { _SupportConcept_RequisitionSendDate = value; } } } public virtual DateTime? SupportConcept_StartDate { get { DateTime? minDate = null; foreach (CostBearer2SupportConcept cb in SupportConcept_CostBearer2SupportConceptList) { DateTime? start = null; start = cb.ApprovedStartDate; if (start == null) { start = cb.RequestedStartDate; } if (minDate == null || (start != null && start.Value < minDate.Value)) { minDate = start; } } return minDate; } } public virtual DateTime? SupportConcept_SupportConceptSendDate { get { return _SupportConcept_SupportConceptSendDate; } set { if (AreDifferent(_SupportConcept_SupportConceptSendDate, value)) { _SupportConcept_SupportConceptSendDate = value; } } } public virtual long? SupportConceptOid { get { return _SupportConceptOid; } set { if (AreDifferent(_SupportConceptOid, value)) { _SupportConceptOid = value; } } } public virtual string SupportConcept_TimeSpanString { get { return string.Format("{0:dd.MM.yyyy} - {1:dd.MM.yyyy}", SupportConcept_StartDate, SupportConcept_EndDate); } } public virtual StatementType ChangeType { get { return _ChangeType; } set { if (AreDifferent(_ChangeType, value)) _ChangeType = value; } } } }