Files
BeWoPlaner/ReportImp/BetreutesWohnenAmRheinReports/Invoicing/SettlementInvoiceCreation.cs

68 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace BetreutesWohnenAmRheinReports.Invoicing
{
public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation
{
public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
{
return false;
//var relDC = c2s.MapToNewDC();
//DateTime start = si.AccountingPeriodStart.Value.Date;
//DateTime end = si.AccountingPeriodEnd.Value.Date;
//if (c2s.SupportConcept.Customer.TerminationDate.HasValue &&
// c2s.SupportConcept.Customer.TerminationDate.Value < end)
//{
// end = c2s.SupportConcept.Customer.TerminationDate.Value;
//}
//if (end > DateTime.Now)
//{
// var srList = c2s.ServiceRecords;
// var max = srList.Max(s => s.End);
// if (max.HasValue && max < end)
// {
// end = max.Value;
// }
//}
//var hourlyRatesInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.HourlyRate, start, end).ToList();
//if (hourlyRatesInSpanList.Count > 3)
// return false;
//var factorInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.RateFactor, start, end).ToList();
//if (factorInSpanList.Count > 1)
// return false;
//return true;
}
public override bool IsServiceRecordBillable(ServiceRecord iRecord)
{
if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz"))
{
return false;
}
return true;
}
public override IList<ServiceRecord> GetBillableServiceRecords(CostBearer2SupportConcept c2s)
{
return c2s.ServiceRecords.Where(IsServiceRecordBillable).ToList();
}
}
}