58 lines
2.2 KiB
C#
58 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Report.ReportObjects;
|
|
using BS.Shared;
|
|
using BS.Shared.Extensions;
|
|
using DevExpress.XtraReports.UI;
|
|
|
|
namespace FenixSozialeDienste
|
|
{
|
|
public partial class ServiceInvoiceReportFLS : XtraReport
|
|
{
|
|
public List<ServiceInvoicePeriodRO> flsList { get; set; }
|
|
public List<ServiceInvoicePeriodRO> aggregiert { get; set; }
|
|
|
|
public ServiceInvoiceReportFLS()
|
|
{
|
|
this.InitializeComponent();
|
|
}
|
|
|
|
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
|
{
|
|
if (pRO.ServiceInvoicePeriods != null && pRO.ServiceInvoicePeriods.Count > 0)
|
|
{
|
|
if (pRO.ServiceInvoicePeriods.All(sip => sip.ServiceInvoiceItems != null))
|
|
{
|
|
decimal km = 0;
|
|
foreach (var sip in pRO.ServiceInvoicePeriods)
|
|
{
|
|
if (sip.ServiceInvoiceItems != null && sip.ServiceInvoiceItems.Count > 0)
|
|
{
|
|
if (sip.ServiceInvoiceItems.Any(ii => ii.UnitDescription.Contains("km:")))
|
|
{
|
|
sip.ServiceInvoiceItems = sip.ServiceInvoiceItems.Where(ii => !ii.UnitDescription.Contains("km:")).ToList();
|
|
}
|
|
foreach (var ii in sip.ServiceInvoiceItems)
|
|
{
|
|
ii.UnitCountString = "";
|
|
ii.Duration = String.Format("{0:dd.MM.yyyy} ({0:ddd})", ii.ServiceRecord.Start.Value);
|
|
|
|
if (ii.ServiceRecord.DistanceInMeter.HasValue)
|
|
{
|
|
ii.RateFactor = ii.ServiceRecord.DistanceInMeter.Value.ToString("n2");
|
|
km += ii.ServiceRecord.DistanceInMeter.Value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
xrTableCell17.Text = km.ToString("n2");
|
|
}
|
|
}
|
|
this.bindingSource1.DataSource = pRO;
|
|
}
|
|
}
|
|
} |