public JsonResult RouteLocations(int startid) { int RouteObjCounter = 0; var startObj = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == startid); List <routeValues> RouteList = new List <routeValues>(); RouteObjCounter = Convert.ToInt32(startObj.Id); int VehicleID = startObj.VehicleID; var routeobj = new AspNetVehicleLocationTable(); do { routeobj = null; routeobj = db.AspNetVehicleLocationTables.FirstOrDefault(x => x.Id == RouteObjCounter && x.VehicleID == VehicleID); if (routeobj != null) { routeValues routeValObj = new routeValues(); routeValObj.latitude = routeobj.LastLatitude; routeValObj.longitude = routeobj.LastLongitude; routeValObj.vehicleid = routeobj.VehicleID; routeValObj.TripStatus = routeobj.TripStatus; RouteList.Add(routeValObj); routeValObj = null; } RouteObjCounter++; }while (routeobj == null || routeobj.TripStatus != "EndTrip"); return(Json(RouteList, JsonRequestBehavior.AllowGet)); }
public ActionResult DeleteConfirmed(int id) { AspNetVehicleLocationTable aspNetVehicleLocationTable = db.AspNetVehicleLocationTables.Find(id); db.AspNetVehicleLocationTables.Remove(aspNetVehicleLocationTable); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,LastLatitude,LastLongitude,EngineRPM,Speed,FuelPressure,Throttle_Pos,FuelType,Fuel_Rail_Pressure,TimeStamp,VehicleID")] AspNetVehicleLocationTable aspNetVehicleLocationTable) { if (ModelState.IsValid) { db.Entry(aspNetVehicleLocationTable).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.VehicleID = new SelectList(db.AspNetVehicles, "VehicleID", "VehicleID", aspNetVehicleLocationTable.VehicleID); return(View(aspNetVehicleLocationTable)); }
// GET: AspNetVehicleLocationTables/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AspNetVehicleLocationTable aspNetVehicleLocationTable = db.AspNetVehicleLocationTables.Find(id); if (aspNetVehicleLocationTable == null) { return(HttpNotFound()); } return(View(aspNetVehicleLocationTable)); }
// GET: AspNetVehicleLocationTables/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AspNetVehicleLocationTable aspNetVehicleLocationTable = db.AspNetVehicleLocationTables.Find(id); if (aspNetVehicleLocationTable == null) { return(HttpNotFound()); } ViewBag.VehicleID = new SelectList(db.AspNetVehicles, "VehicleID", "VehicleID", aspNetVehicleLocationTable.VehicleID); return(View(aspNetVehicleLocationTable)); }
public JsonResult RouteHistory(string DriverID) { var vehicleDriverObj = db.AspNetDriver_Vehicle.FirstOrDefault(s => s.DriverID == DriverID); var id = vehicleDriverObj.VehicleID; int loopCounter = 0; int routeCounter = 1; int counter = 0; List <TripRoute> TripRouteList = new List <TripRoute>(); var CounterObj = db.AspNetVehicleLocationTables.OrderByDescending(s => s.Id).FirstOrDefault(x => x.VehicleID == id && x.TripStatus == "EndTrip"); loopCounter = CounterObj.Id; do { var RouteEnd = db.AspNetVehicleLocationTables.OrderByDescending(s => s.Id).FirstOrDefault(x => x.VehicleID == id && x.TripStatus == "EndTrip" && x.Id == loopCounter); if (RouteEnd != null) { TripRoute route = new TripRoute(); route.RouteID = routeCounter; route.RouteEndID = RouteEnd.Id; AspNetVehicleLocationTable RouteStart = new AspNetVehicleLocationTable(); counter = RouteEnd.Id - 1; do { RouteStart = db.AspNetVehicleLocationTables.OrderByDescending(x => x.Id).FirstOrDefault(s => s.Id == counter && s.VehicleID == id && s.TripStatus == "StartTrip"); counter--; }while (RouteStart == null && counter > 0); if (RouteStart != null) { route.RouteStartID = RouteStart.Id; TripRouteList.Add(route); loopCounter = RouteStart.Id; routeCounter++; RouteStart = null; RouteEnd = null; } } loopCounter--; }while (loopCounter > 0); return(Json(TripRouteList, JsonRequestBehavior.AllowGet)); }
public JsonResult OverSpeedData(string id) { List <OverSpeed> data = new List <OverSpeed>(); var x = 0; var a = 0; var vehicleObj = db.AspNetDriver_Vehicle.FirstOrDefault(s => s.DriverID == id); var overspeedPositions = (from sub in db.AspNetVehicleLocationTables where sub.VehicleID == vehicleObj.VehicleID select new { sub.Id, sub.LastLatitude, sub.Speed, sub.LastLongitude, sub.VehicleID, sub.EngineRPM }).ToList(); foreach (var item in overspeedPositions) { OverSpeed overspeedobj = new OverSpeed(); int counter = item.Id - 1; x = Convert.ToInt32(item.Speed); a = Convert.ToInt32(item.EngineRPM); if (x >= 50 && a >= 100) { AspNetVehicleLocationTable LastLocation = null; do { LastLocation = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == counter && s.VehicleID == item.VehicleID); if (LastLocation != null) { var y = Convert.ToInt32(LastLocation.Speed); if (y <= 49) { overspeedobj.latitude = item.LastLatitude; overspeedobj.longitude = item.LastLongitude; overspeedobj.vehicleid = item.VehicleID; data.Add(overspeedobj); } } counter--; }while (LastLocation == null); } } return(Json(data, JsonRequestBehavior.AllowGet)); }
public void UpdateDB(ObdReading reading) { var vehicleobj = db.AspNetVehicles.FirstOrDefault(s => s.VehicleID == reading.vehicleid); var ReadingObj = new AspNetVehicleLocationTable(); //var PreDecessorObj = new AspNetVehicleLocationTable(); //try //{ // PreDecessorObj = db.AspNetVehicleLocationTables.OrderByDescending(x => x.Id).FirstOrDefault(x => x.VehicleID == Convert.ToInt32(reading.vehicleid)); //} //catch { } //if (PreDecessorObj != null) //{ // int? TimeStampDiff = 0; // var counter = PreDecessorObj.Id; // var PredecessorCheckObj = new AspNetVehicleLocationTable(); // do // { // PredecessorCheckObj = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == counter && s.VehicleID == Convert.ToInt32(reading.vehicleid) && s.TripStatus == "End"); // if (PredecessorCheckObj != null) // { // TimeStampDiff = reading.timestamp - PredecessorCheckObj.TimeStamp; // } // counter--; // } // while (PredecessorCheckObj == null && counter >= 0); // if (TimeStampDiff > 90000 && PredecessorCheckObj != null)//here: 1000ms = 1s // { // ReadingObj.TripStatus = "Start"; // } // else if(Convert.ToInt32(reading.readings.ENGINE_RPM) < 500) // { // PreDecessorObj.TripStatus = "OnRoad"; // db.SaveChanges(); // ReadingObj.TripStatus = "End"; // } // else // { // ReadingObj.TripStatus = "OnRoad"; // } //} var PreDecessorObj = new AspNetVehicleLocationTable(); try { PreDecessorObj = db.AspNetVehicleLocationTables.OrderByDescending(x => x.Id).FirstOrDefault(x => x.VehicleID == Convert.ToInt32(reading.vehicleid)); } catch { } var counter = PreDecessorObj.Id; var PredecessorCheckObj = new AspNetVehicleLocationTable(); if (PreDecessorObj != null) { do { PredecessorCheckObj = db.AspNetVehicleLocationTables.OrderByDescending(x => x.Id).FirstOrDefault(s => s.Id == counter && s.VehicleID == Convert.ToInt32(reading.vehicleid) && s.TripStatus == "StartTrip" && Convert.ToInt32(reading.readings.ENGINE_RPM) >= 500); if (PredecessorCheckObj != null) { ReadingObj.TripStatus = "OnTrip"; } counter--; }while (PredecessorCheckObj == null && counter >= 0); } if (Convert.ToInt32(reading.readings.ENGINE_RPM) >= 500 && PredecessorCheckObj == null) { ReadingObj.TripStatus = "StartTrip"; } else if (Convert.ToInt32(reading.readings.ENGINE_RPM) < 500 && PredecessorCheckObj == null) { ReadingObj.TripStatus = "EndTrip"; } ReadingObj.LastLatitude = reading.latitude; ReadingObj.LastLongitude = reading.longitude; if (reading.readings.ENGINE_RPM == null) { reading.readings.ENGINE_RPM = "0"; } else { ReadingObj.EngineRPM = Regex.Replace(reading.readings.ENGINE_RPM, "[A-Za-z ]", ""); float engineRPM = Convert.ToInt32(ReadingObj.EngineRPM); ReadingObj.EngineRPM = Convert.ToString(engineRPM / 1000); } if (reading.readings.SPEED == null) { reading.readings.SPEED = "0"; } else { ReadingObj.Speed = Regex.Replace(reading.readings.SPEED, "[A-Za-z ]", ""); ReadingObj.Speed = Regex.Replace(ReadingObj.Speed, "/", ""); } if (reading.readings.FUEL_PRESSURE == null) { reading.readings.FUEL_PRESSURE = "0"; } else { ReadingObj.FuelPressure = Regex.Replace(reading.readings.FUEL_PRESSURE, "[A-Za-z ]", ""); } if (reading.readings.THROTTLE_POS == null) { reading.readings.THROTTLE_POS = "0"; } else { ReadingObj.Throttle_Pos = Regex.Replace(reading.readings.THROTTLE_POS, "[A-Za-z ]", ""); ReadingObj.Throttle_Pos = Regex.Replace(reading.readings.THROTTLE_POS, "%", ""); } if (reading.readings.FUEL_TYPE == null) { reading.readings.FUEL_TYPE = "0"; } else { ReadingObj.FuelType = Regex.Replace(reading.readings.FUEL_TYPE, "[A-Za-z ]", ""); } // ReadingObj.TimeStamp = Convert.ToInt32(reading.timestamp); ReadingObj.VehicleID = vehicleobj.Id; db.AspNetVehicleLocationTables.Add(ReadingObj); db.SaveChanges(); }
/***************************************************************************************************************************************************/ public JsonResult OverSpeedDataByTrip(int startid) { var vehiclelocationobj = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == startid); int RouteObjCounter = 0; var driverobj = db.AspNetDriver_Vehicle.FirstOrDefault(s => s.VehicleID == vehiclelocationobj.VehicleID); List <OverSpeed> data = new List <OverSpeed>(); var x = 0; var a = 0; var vehicleObj = db.AspNetDriver_Vehicle.FirstOrDefault(s => s.DriverID == driverobj.DriverID); //var overspeedPositions = (from sub in db.AspNetVehicleLocationTables // where sub.VehicleID == vehicleObj.VehicleID // select new { sub.Id, sub.LastLatitude, sub.Speed, sub.LastLongitude, sub.VehicleID, sub.EngineRPM }).ToList(); List <AspNetVehicleLocationTable> overspeedPositions = new List <AspNetVehicleLocationTable>(); RouteObjCounter = startid; var routeobj = new AspNetVehicleLocationTable(); do { routeobj = null; routeobj = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == RouteObjCounter && s.VehicleID == vehiclelocationobj.VehicleID); if (routeobj != null) { overspeedPositions.Add(routeobj); } RouteObjCounter++; }while (routeobj == null || routeobj.TripStatus != "EndTrip"); foreach (var item in overspeedPositions) { OverSpeed overspeedobj = new OverSpeed(); int counter = item.Id - 1; x = Convert.ToInt32(item.Speed); a = Convert.ToInt32(item.EngineRPM); if (x >= 50 && a >= 100) { AspNetVehicleLocationTable LastLocation = null; do { LastLocation = db.AspNetVehicleLocationTables.FirstOrDefault(s => s.Id == counter && s.VehicleID == item.VehicleID); if (LastLocation != null) { var y = Convert.ToInt32(LastLocation.Speed); if (y <= 49) { overspeedobj.latitude = item.LastLatitude; overspeedobj.longitude = item.LastLongitude; overspeedobj.vehicleid = item.VehicleID; data.Add(overspeedobj); } } counter--; }while (LastLocation == null); } } return(Json(data, JsonRequestBehavior.AllowGet)); }