MalteserJohanniterJohanneshaus/EmployeeKilometerauswertung - Unterscheidung für Motorradpauschale
This commit is contained in:
@@ -20,7 +20,41 @@ namespace MalteserJohanniterJohanneshaus
|
||||
|
||||
public void SetReportDataSource(EmployeeKilometerauswertungsListRO pRO)
|
||||
{
|
||||
foreach (var e2e in pRO.Employees2Entries)
|
||||
{
|
||||
if (e2e.Entries != null && e2e.Entries.Count > 0)
|
||||
{
|
||||
if (e2e.Entries.Any(e => e.ServiceRecord != null && e.ServiceRecord.ServiceDescription != null && e.ServiceRecord.ServiceDescription.Name.ToLower().Contains("zweirad")))
|
||||
{
|
||||
var preise = DAOFactory.GenericDAO.GetAllActive<Preis>();
|
||||
foreach (var e in e2e.Entries)
|
||||
{
|
||||
if (e.DistanceInMeters != 0 && e.ServiceRecord != null && e.ServiceRecord.ServiceDescription != null
|
||||
&& e.ServiceRecord.ServiceDescription.Name.ToLower().Contains("zweirad"))
|
||||
{
|
||||
var pauschale = GetPreis(preise, "Kilometerpauschale Zweirad", e.ServiceRecord.Start.Value);
|
||||
e.KilometerPauschale = Math.Round(e.DistanceInMeters * (double)pauschale, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
objectDataSource1.DataSource = pRO;
|
||||
}
|
||||
private static decimal GetPreis(IList<Preis> allePreise, String name, DateTime datum)
|
||||
{
|
||||
var pausch = allePreise.Where(p => p.Name.Contains(name)).FirstOrDefault();
|
||||
if (pausch != null)
|
||||
{
|
||||
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(pausch.CostRatePeriods);
|
||||
var cr = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, datum);
|
||||
if (cr != null && cr.CostRateValue.HasValue)
|
||||
{
|
||||
return cr.CostRateValue.Value;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,38 @@ namespace MalteserJohanniterJohanneshaus
|
||||
public void SetReportDataSource(EmployeeKilometerauswertungsRO pRO)
|
||||
{
|
||||
pRO.CreateDistanceList();
|
||||
if (pRO.Entries != null && pRO.Entries.Count > 0)
|
||||
{
|
||||
if (pRO.Entries.Any(e => e.ServiceRecord != null && e.ServiceRecord.ServiceDescription != null && e.ServiceRecord.ServiceDescription.Name.ToLower().Contains("zweirad")))
|
||||
{
|
||||
var preise = DAOFactory.GenericDAO.GetAllActive<Preis>();
|
||||
foreach (var e in pRO.Entries)
|
||||
{
|
||||
if (e.DistanceInMeters != 0 && e.ServiceRecord != null && e.ServiceRecord.ServiceDescription != null
|
||||
&& e.ServiceRecord.ServiceDescription.Name.ToLower().Contains("zweirad"))
|
||||
{
|
||||
var pauschale = GetPreis(preise, "Kilometerpauschale Zweirad", e.ServiceRecord.Start.Value);
|
||||
e.KilometerPauschale = Math.Round(e.DistanceInMeters * (double)pauschale, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
objectDataSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private static decimal GetPreis(IList<Preis> allePreise, String name, DateTime datum)
|
||||
{
|
||||
var pausch = allePreise.Where(p => p.Name.Contains(name)).FirstOrDefault();
|
||||
if (pausch != null)
|
||||
{
|
||||
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(pausch.CostRatePeriods);
|
||||
var cr = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, datum);
|
||||
if (cr != null && cr.CostRateValue.HasValue)
|
||||
{
|
||||
return cr.CostRateValue.Value;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user