using System;

using BS.Shared.DataContracts;

namespace BeWo.Service.DCEntityMapper
{
    //Klasse zum deserialisieren vom alten SettlementDC. Der alte SettlementDC wurde durch Settlement2DC ersetzt
    public class SettlementDC
    {    
        public DateTime? AccountingPeriodEnd { get; set; }

        public DateTime? AccountingPeriodStart { get; set; }

        public decimal? AmountAdvancedPayments { get; set; }

        public decimal? AmountRecordedBillableFLS { get; set; }

        public decimal AmountTotalAdvancedPaidWithHourlyRate3 { get; set; }

        public decimal? AmountTotalAdvancedPaidWithNewHourlyRate { get; set; }

        public decimal? AmountTotalAdvancedPaidWithOldHourlyRate { get; set; }

        public decimal AmountTotalWithHourlyRate3 { get; set; }

        public decimal AmountWithRateFactor { get; set; }

        public DateTime? ApprovalNoticeDate { get; set; }

        public decimal? ApprovedFLS { get; set; }

        public decimal? ApprovedFLSWeekly { get; set; }

        public decimal ApprovedFLSWithActualHourlyRate { get; set; }

        public decimal ApprovedFLSWithHourlyRate3 { get; set; }

        public decimal ApprovedFLSWithOldHourlyRate { get; set; }

        public decimal? Claim { get; set; }

        public long? CostBearer2SupportConceptOid { get; set; }

        public string CreatorFirstName { get; set; }

        public string CreatorLastName { get; set; }

        public string CustomerReferenceNumber { get; set; }

        public int DifferentHourlyRateCount { get; set; }

        public int? DunningLetterCount { get; set; }

        public decimal? EquityContribution { get; set; }

        public decimal HourlyRate3 { get; set; }

        public DateTime? HourlyRateEndDate3 { get; set; }

        public decimal? HourlyRateNew { get; set; }

        public DateTime? HourlyRateNewStartDate { get; set; }

        public decimal? HourlyRateOld { get; set; }

        public DateTime? HourlyRateOldEndDate { get; set; }

        public DateTime? HourlyRateOldStartDate { get; set; }

        public long? InvoiceBaseOid { get; set; }

        public long? InvoiceBaseVersion { get; set; }

        public DateTime? InvoiceDate { get; set; }

        public string InvoiceNumber { get; set; }

        public bool IsPaid { get; set; }

        public string Notice { get; set; }

        public decimal? RateFactor { get; set; }

        public long? RecipientAddressOid { get; set; }

        public long? RecipientAddressVersion { get; set; }

        public string RecipientContactPerson { get; set; }

        public string RecipientDivision { get; set; }

        public string RecipientOrganisation { get; set; }

        public string RecipientPostBox { get; set; }

        public string RecipientPostCode { get; set; }

        public string RecipientStreet { get; set; }

        public string RecipientTown { get; set; }

        public decimal? RecordedBillableFLSBrutto { get; set; }

        public decimal RecordedBillableFLSNetto { get; set; }

        public decimal RecordedBillableFLSNotBillableCustomerAbsent { get; set; }

        public decimal RecordedBillableFLSNotBillableOutOfApprovedSpan { get; set; }

        public string SenderContactPersonDivision { get; set; }

        public string SenderContactPersonFax { get; set; }

        public string SenderContactPersonFirstName { get; set; }

        public string SenderContactPersonLastName { get; set; }

        public string SenderContactPersonMail { get; set; }

        public string SenderContactPersonPhone { get; set; }

        public long? SettlementInvoiceVersion { get; set; }

        public long? SettlementIvoiceOid { get; set; }

        public long? SupportConceptOid { get; set; }

        public decimal WeeksWithHourlyRate3 { get; set; }

        public decimal WeeksWithNewHourlyRate { get; set; }

        public decimal WeeksWithOldHourlyRate { get; set; }

        public CostRatePeriodDC ServiceUnit { get; set; }

        public decimal MaxAmountAllowed { get; set; }

        public decimal TotalAmount { get; set; }
    }
}