Vehicle breakdown operational

This commit is contained in:
2013-02-12 18:01:20 -05:00
parent 36e277a442
commit 73e4740c7e
4 changed files with 75 additions and 18 deletions
+34 -4
View File
@@ -195,8 +195,7 @@ namespace MileageTraker.Web.DAL
from log in FilterLogs(_db.Logs, query)
let previousLog = log.VehiclePreviousLog
select new { log, previousLog, miles = (previousLog != null ? log.EndOdometer - previousLog.EndOdometer : 0) }
group l by l.log.User
into g
group l by l.log.User into g
let miles = g.Sum(l => l.miles)
let gasPurchased = g.Sum(l => l.log.GasPurchased)
where miles > 0 || gasPurchased > 0
@@ -204,13 +203,35 @@ namespace MileageTraker.Web.DAL
from i in g
orderby i.log.Date descending, i.log.EndOdometer descending
select new { PreviousLog = i.previousLog, Log = i.log }
let vehicleLogs =
from i in g
group i by i.log.VehicleId into v
from vehicle in _db.Vehicles
where vehicle.VehicleId == v.Key
let vehicleProg = vehicle.Prog
let vehicleMiles = v.Sum(l => l.miles)
let vehicleGasPurchased = v.Sum(l => l.log.GasPurchased)
where miles > 0 || gasPurchased > 0
let vehicleLogPairs =
from i in v
orderby i.log.Date descending, i.log.EndOdometer descending
select new { PreviousLog = i.previousLog, Log = i.log }
select new
{
VehicleId = v.Key,
Prog = vehicleProg,
Miles = vehicleMiles,
GasPurchased = vehicleGasPurchased,
LogPairs = vehicleLogPairs
}
select
new
{
User = g.Key,
GasPurchased = gasPurchased,
Miles = miles,
LogPairs = logPairs
LogPairs = logPairs,
VehicleLogs = vehicleLogs
};
return items.ToList().Select(i => new DriverMileageItem
@@ -219,7 +240,16 @@ namespace MileageTraker.Web.DAL
GasPurchased = i.GasPurchased,
Miles = i.Miles,
LogPairs = i.LogPairs.ToList()
.Select(lp => new Tuple<Log, Log>(lp.PreviousLog, lp.Log))
.Select(lp => new Tuple<Log, Log>(lp.PreviousLog, lp.Log)),
VehicleMileageItems = i.VehicleLogs.ToList().Select(v => new VehicleMileageItem
{
VehicleId = v.VehicleId,
Prog = v.Prog,
Miles = v.Miles,
GasPurchased = v.GasPurchased,
LogPairs = v.LogPairs.ToList()
.Select(lp => new Tuple<Log, Log>(lp.PreviousLog, lp.Log))
}).ToList()
});
}