68 lines
2.1 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|