Files
BeWoPlaner/Shared/DataContracts/SupportConceptApprovalPeriodDC.cs
Lyndon Jetten 659ec6b3eb Kalender:
Die Abfrage nach der Ressourcenbelegung kommt nur ein mal und das Abbrechen des Speicherns hat keinen "kaputten" Reload zur Folge
    Das Löschen eines Serientermins mit veränderten oder gelöschten Elementen führt zu keiner Exception mehr, da ich den Service-Aufruf auf synchron geändert habe.
    Es gibt allerdings noch Bugs! -> Serientermin erstellen und ein Element davon ändern führt zu einer doppelten Abfrage, ausgelöst durch die Überlappungsprüfung, die eine    Überlappung mit der Serie selbst feststellt!
2020-11-20 23:28:09 +01:00

141 lines
4.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BS.Shared.Core;
namespace BS.Shared.DataContracts
{
[DataContract]
public class SupportConceptApprovalPeriodDC : IDataContract
{
[DataMember]
public SupportConceptApprovalInterval? ApprovedBEInterval { get; set; }
[DataMember]
public decimal? ApprovedBEPerInterval { get; set; }
[DataMember]
public SupportConceptApprovalInterval? ContactCountInterval { get; set; }
[DataMember]
public decimal? ContactCountPerInterval { get; set; }
[DataMember]
public decimal? ApprovedBETotal { get; set; }
[DataMember]
public decimal? ApprovedFixedAmount { get; set; }
[DataMember]
public SupportConceptApprovalInterval? ApprovedFixedAmountInterval { get; set; }
[DataMember]
public DateTime? EndDate { get; set; }
[DataMember]
public bool IsApprovedBEShifting { get; set; }
[DataMember]
public bool IsApprovedFixedAmountShifting { get; set; }
[DataMember]
public decimal? MonthlyPayment { get; set; }
public DateTimeSpan Span
{
get
{
var sd = DateTime.MinValue;
var ed = DateTime.MaxValue;
if (StartDate.HasValue)
{
sd = StartDate.Value;
}
if (EndDate.HasValue)
{
ed = EndDate.Value;
}
return new DateTimeSpan
{
StartDateTime = sd,
EndDateTime = ed
};
}
}
[DataMember]
public DateTime? StartDate { get; set; }
[DataMember]
public decimal? Percentage { get; set; }
[DataMember]
public long? SupportConceptApprovalPeriodOid { get; set; }
[DataMember]
public long? SupportConceptApprovalPeriodVersion { get; set; }
[DataMember]
public ServiceCategoryDC ServiceCategory { get; set; }
[DataMember]
public List<SupportConceptApprovalPeriodEmployeeRelDC> SupportConceptApprovalPeriodEmployeeRelations { get; set; }
[DataMember]
public BudgetDC BudgetDC { get; set; }
[DataMember]
public Bewilligungsart Bewilligungsart { get; set; }
public override bool Equals(object obj)
{
if(obj is SupportConceptApprovalPeriodDC x)
{
var a = Equals(ApprovedBEInterval, x.ApprovedBEInterval);
var b = Equals(ApprovedBEPerInterval, x.ApprovedBEPerInterval);
var c = Equals(ContactCountInterval, x.ContactCountInterval);
var d = Equals(ContactCountPerInterval, x.ContactCountPerInterval);
var e = Equals(ApprovedBETotal, x.ApprovedBETotal);
var f = Equals(ApprovedFixedAmount, x.ApprovedFixedAmount);
var g = Equals(ApprovedFixedAmountInterval, x.ApprovedFixedAmountInterval);
var h = Equals(EndDate, x.EndDate);
var i = Equals(IsApprovedBEShifting, x.IsApprovedBEShifting);
var j = Equals(IsApprovedFixedAmountShifting, x.IsApprovedFixedAmountShifting);
var k = Equals(MonthlyPayment, x.MonthlyPayment);
var l = Equals(Span, x.Span);
var m = Equals(StartDate, x.StartDate);
var n = Equals(Percentage, x.Percentage);
var o = Equals(SupportConceptApprovalPeriodOid, x.SupportConceptApprovalPeriodOid);
var p = Equals(SupportConceptApprovalPeriodVersion, x.SupportConceptApprovalPeriodVersion);
var q = Equals(ServiceCategory, x.ServiceCategory);
var r = Equals(BudgetDC, x.BudgetDC);
var s = Utils.ListsEqual(SupportConceptApprovalPeriodEmployeeRelations, x.SupportConceptApprovalPeriodEmployeeRelations);
var t = Equals(Bewilligungsart, x.Bewilligungsart);
return a && b && c && d && e && f && g && h && i && j && k && l && m && n && o && p && q && r && s && t;
}
return false;
}
public override int GetHashCode()
{
unchecked
{
const int hashingBase = (int)2166136261;
const int hashingMultiplier = 16777619;
var hash = hashingBase;
hash = (hash * hashingMultiplier) ^ (SupportConceptApprovalPeriodOid?.GetHashCode() ?? 0);
hash = (hash * hashingMultiplier) ^ (SupportConceptApprovalPeriodVersion?.GetHashCode() ?? 0);
return hash;
}
}
}
}