Add vehicle recall

This commit is contained in:
2020-09-20 22:07:13 -04:00
parent b5589103ec
commit 6f031c5cb6
34 changed files with 890 additions and 45 deletions
+79 -2
View File
@@ -820,6 +820,11 @@ namespace MileageTraker.Web.DAL
var vehicleService = _db.VehicleServices.Find(id);
_db.VehicleServices.Remove(vehicleService);
foreach (var recall in _db.VehicleRecalls.Where(vr => vr.CompletedService.VehicleServiceId == id))
{
recall.CompletedService = null;
_db.Entry(recall).State = EntityState.Modified;
}
_db.SaveChanges();
}
@@ -990,7 +995,79 @@ namespace MileageTraker.Web.DAL
public const int ServiceReminderDefaultMileageDelta = 5000;
public const int ServiceReminderUpcomingMileageThreshold = 300;
#endregion
#endregion
}
#region Vehicle Recall
public void AddVehicleRecall(VehicleRecall vehicleRecall)
{
_db.VehicleRecalls.Add(vehicleRecall);
_db.SaveChanges();
}
public void UpdateVehicleRecall(VehicleRecall vehicleRecall)
{
_db.Entry(vehicleRecall).State = EntityState.Modified;
_db.SaveChanges();
}
public void UpdateVehicleRecallService(int vehicleRecallId, VehicleService vehicleService)
{
if (vehicleRecallId > 0)
{
var recall = GetVehicleRecall(vehicleRecallId);
recall.CompletedService = vehicleService;
UpdateVehicleRecall(recall);
}
else
{
var recall = GetVehicleRecalls().FirstOrDefault(vr => vr.CompletedService.VehicleServiceId == vehicleService.VehicleServiceId);
if (recall != null)
{
recall.CompletedService = null;
UpdateVehicleRecall(recall);
}
}
}
public IQueryable<VehicleRecall> GetVehicleRecalls(string vehicleId)
{
return GetVehicleRecalls().Where(vr => vr.Vehicle.VehicleId == vehicleId);
}
public IQueryable<VehicleRecall> GetOpenVehicleRecalls()
{
return GetVehicleRecalls().Where(vr => vr.CompletedService == null);
}
public IQueryable<VehicleRecall> GetOpenVehicleRecalls(string vehicleId)
{
return GetOpenVehicleRecalls().Where(vr => vr.Vehicle.VehicleId == vehicleId);
}
public IQueryable<VehicleRecall> GetVehicleRecallByServiceId(int vehicleServiceId)
{
return GetVehicleRecalls().Where(vr => vr.CompletedService.VehicleServiceId == vehicleServiceId);
}
public IQueryable<VehicleRecall> GetVehicleRecalls()
{
return _db.VehicleRecalls;
}
public VehicleRecall GetVehicleRecall(int id)
{
return _db.VehicleRecalls.Find(id);
}
public void DeleteVehicleRecall(int id)
{
var vehicleRecall = _db.VehicleRecalls.Find(id);
_db.VehicleRecalls.Remove(vehicleRecall);
_db.SaveChanges();
}
#endregion
}
}