Get to compile

This commit is contained in:
2015-10-02 10:45:25 -04:00
parent a2368f5e69
commit 0a90d48f2d
7 changed files with 30 additions and 36 deletions
+20 -22
View File
@@ -45,7 +45,7 @@ namespace MileageTraker.Web.DAL
_db.SaveChanges();
UpdateCurrentOdometer(log.VehicleId);
UpdateCurrentOdometer(log.Vehicle);
}
public void UpdateLog(Log log)
@@ -85,7 +85,7 @@ namespace MileageTraker.Web.DAL
_db.Entry(log).State = EntityState.Modified;
_db.SaveChanges();
UpdateCurrentOdometer(log.VehicleId);
UpdateCurrentOdometer(log.Vehicle);
}
public void DeleteLog(int id)
@@ -109,7 +109,7 @@ namespace MileageTraker.Web.DAL
_db.Logs.Remove(log);
_db.SaveChanges();
UpdateCurrentOdometer(log.VehicleId);
UpdateCurrentOdometer(log.Vehicle);
}
public IQueryable<Log> GetLogs()
@@ -162,9 +162,8 @@ 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.VehicleId
group l by l.log.Vehicle
into g
join v in _db.Vehicles on g.Key equals v.VehicleId
let miles = g.Sum(l => l.miles)
let gasPurchased = g.Sum(l => l.log.GasPurchased)
where miles > 0 || gasPurchased > 0
@@ -175,10 +174,10 @@ namespace MileageTraker.Web.DAL
select
new
{
VehicleId = g.Key,
g.Key.VehicleId,
GasPurchased = gasPurchased,
Miles = miles,
v.Prog,
g.Key.Prog,
LogPairs = logPairs
};
@@ -203,9 +202,9 @@ namespace MileageTraker.Web.DAL
group l by l.log.User into g
let vehicleLogs =
from i in g
group i by i.log.VehicleId into v
group i by i.log.Vehicle into v
from vehicle in _db.Vehicles
where vehicle.VehicleId == v.Key
where vehicle.VehicleId == v.Key.VehicleId
let vehicleProg = vehicle.Prog
let vehicleMiles = v.Sum(l => l.miles)
let vehicleGasPurchased = v.Sum(l => l.log.GasPurchased)
@@ -216,7 +215,7 @@ namespace MileageTraker.Web.DAL
select new { PreviousLog = i.previousLog, Log = i.log }
select new
{
VehicleId = v.Key,
v.Key.VehicleId,
Prog = vehicleProg,
Miles = vehicleMiles,
GasPurchased = vehicleGasPurchased,
@@ -273,7 +272,7 @@ namespace MileageTraker.Web.DAL
// vehicle id
if (!String.IsNullOrEmpty(query.VehicleId))
{
logs = logs.Where(l => l.VehicleId == query.VehicleId);
logs = logs.Where(l => l.Vehicle.VehicleId == query.VehicleId);
}
return logs;
@@ -286,7 +285,7 @@ namespace MileageTraker.Web.DAL
where
dbLog.Date == log.Date &&
dbLog.EndOdometer == log.EndOdometer &&
dbLog.VehicleId == log.VehicleId
dbLog.Vehicle == log.Vehicle
select dbLog;
}
@@ -303,7 +302,7 @@ namespace MileageTraker.Web.DAL
public Log SearchPreviousLog(Log current)
{
var vehicleId = current.VehicleId;
var vehicleId = current.Vehicle.VehicleId;
var date = current.Date;
var endOdometer = current.EndOdometer;
return SearchPreviousLog(endOdometer, vehicleId, date, current.Created, current.LogId);
@@ -312,7 +311,7 @@ namespace MileageTraker.Web.DAL
public Log SearchPreviousLog(int endOdometer, string vehicleId, DateTime date, DateTime created, int? excludeLogId = null)
{
return (from pl in _db.Logs
where pl.VehicleId == vehicleId &&
where pl.Vehicle.VehicleId == vehicleId &&
((pl.EndOdometer < endOdometer && pl.Date <= date)
|| (pl.EndOdometer == endOdometer && pl.Date < date)
|| (pl.EndOdometer == endOdometer && pl.Date == date && pl.Created < created))
@@ -323,7 +322,7 @@ namespace MileageTraker.Web.DAL
public Log SearchNextLog(Log current)
{
var vehicleId = current.VehicleId;
var vehicleId = current.Vehicle.VehicleId;
var date = current.Date;
var endOdometer = current.EndOdometer;
return SearchNextLog(endOdometer, vehicleId, date, current.Created, current.LogId);
@@ -332,7 +331,7 @@ namespace MileageTraker.Web.DAL
public Log SearchNextLog(int endOdometer, string vehicleId, DateTime date, DateTime created, int? excludeLogId = null)
{
return (from nl in GetLogs()
where nl.VehicleId == vehicleId &&
where nl.Vehicle.VehicleId == vehicleId &&
((nl.EndOdometer > endOdometer && nl.Date >= date)
|| (nl.EndOdometer == endOdometer && nl.Date > date)
|| (nl.EndOdometer == endOdometer && nl.Date >= date && nl.Created > created))
@@ -438,16 +437,15 @@ namespace MileageTraker.Web.DAL
return vehicle;
}
public void UpdateCurrentOdometer(string vehicleId)
public void UpdateCurrentOdometer(Vehicle vehicle)
{
var mostRecentOdometerQuery =
from log in _db.Logs
where
log.VehicleId == vehicleId
log.Vehicle == vehicle
orderby log.Date descending, log.EndOdometer descending
select log;
var mostRecentOdometer = mostRecentOdometerQuery.FirstOrDefault();
var vehicle = _db.Vehicles.Find(vehicleId);
if (mostRecentOdometer != null && mostRecentOdometer.EndOdometer != vehicle.CurrentOdometer)
{
vehicle.CurrentOdometer = mostRecentOdometer.EndOdometer;
@@ -475,7 +473,7 @@ namespace MileageTraker.Web.DAL
let existingDate = log.Date
let existingOdometer = log.EndOdometer
where
log.VehicleId == vehicleId &&
log.Vehicle.VehicleId == vehicleId &&
// this is also in Utility.Algorithms, but doesn't get emitted to DB as SQL if used in method call
!(existingDate == date
|| existingOdometer == odometer
@@ -706,7 +704,7 @@ namespace MileageTraker.Web.DAL
// matching by Date, Gas Purchased (gallons), and Vehicle
var vehicle = GetVehicleByTag(fuelLog.TagNumber);
if (vehicle != null)
dateGasVehicleQuery = dateGasVehicleQuery.Where(log => log.VehicleId == vehicle.VehicleId);
dateGasVehicleQuery = dateGasVehicleQuery.Where(log => log.Vehicle.VehicleId == vehicle.VehicleId);
dateGasVehicleQuery = dateGasVehicleQuery
.Where(log =>
@@ -738,7 +736,7 @@ namespace MileageTraker.Web.DAL
var vehicle = GetVehicleByTag(fuelLog.TagNumber);
if (vehicle != null)
gasVehicleQuery = gasVehicleQuery.Where(log => log.VehicleId == vehicle.VehicleId);
gasVehicleQuery = gasVehicleQuery.Where(log => log.Vehicle.VehicleId == vehicle.VehicleId);
var futureDate = fuelLog.Date.AddDays(dateRange);
var pastDate = fuelLog.Date.AddDays(-dateRange);