private void Application_Startup(object sender, StartupEventArgs _) { try { var savedRoutes = new SavedRoute[0]; var userDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var editorDir = Path.Combine(userDir, Constants.IdleKingdomsUserFolder); var savedRoutesPath = Path.Combine(editorDir, Constants.SavedRoutesFileName); if (File.Exists(Constants.SavedRoutesFilePath)) { savedRoutes = JsonConvert.DeserializeObject <SavedRoute[]>(File.ReadAllText(Constants.SavedRoutesFilePath)); } else if (File.Exists(savedRoutesPath)) { savedRoutes = JsonConvert.DeserializeObject <SavedRoute[]>(File.ReadAllText(savedRoutesPath)); } var vm = new MainViewModel(savedRoutes); var w = new MainWindow { DataContext = vm }; w.ShowDialog(); } catch (Exception e) { Logger.Error(e); MessageBox.Show(e.ToString()); } }
public async Task <IActionResult> PutSavedRoute([FromRoute] int id, [FromBody] SavedRoute savedRoute) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != savedRoute.Id) { return(BadRequest()); } _context.Entry(savedRoute).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SavedRouteExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult DeleteConfirmed(string id) { SavedRoute savedRoute = db.SavedRoutes.Find(id); db.SavedRoutes.Remove(savedRoute); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult SaveRoute(SavedRoute routeData) { SavedRoute newRoute = TempData["myRoute"] as SavedRoute; newRoute.name = routeData.name; db.SavedRoutes.Add(newRoute); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "SRID,Route,Timestamp,Username")] SavedRoute savedRoute) { if (ModelState.IsValid) { db.Entry(savedRoute).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(savedRoute)); }
public JsonResult SaveRoute(List <RLocation> rl) { StringBuilder sb = new StringBuilder(); SavedRoute savedRoute = new SavedRoute(); foreach (RLocation r in rl) { sb.AppendFormat("[Na]{0}[Na] [La]{1}[La] [Lo]{2}[Lo] [Id]{3}[Id] \n", r.Name, r.Latitude, r.Longitude, r.Id); } if (!db.SavedRoutes.Any()) { // savedRoute.SRID = 0; } //savedRoute.SRID = db.SavedRoutes.OrderByDescending(s => s.SRID).FirstOrDefault().SRID; if (Request.IsAuthenticated) { savedRoute.Username = User.Identity.Name; } else { savedRoute.Username = "******"; } savedRoute.Timestamp = DateTime.UtcNow; savedRoute.Route = sb.ToString(); db.SavedRoutes.Add(savedRoute); try { db.SaveChanges(); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", validationErrors.Entry.Entity.ToString(), validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException raise = new InvalidOperationException(message, raise); } } throw raise; } return(Json(new { result = "Redirect", url = Url.Action("/Details/" + savedRoute.SRID) })); }
public ActionResult Create([Bind(Include = "SRID,Route,Timestamp,Username")] SavedRoute savedRoute) { if (ModelState.IsValid) { db.SavedRoutes.Add(savedRoute); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(savedRoute)); }
public async Task <IActionResult> PostSavedRoute([FromBody] SavedRoute savedRoute) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.SavedRoute.Add(savedRoute); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSavedRoute", new { id = savedRoute.Id }, savedRoute)); }
// GET: SavedRoutes/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SavedRoute savedRoute = db.SavedRoutes.Find(id); if (savedRoute == null) { return(HttpNotFound()); } return(View(savedRoute)); }
public ActionResult SaveRoute() { ShowRouteViewModel routeData = TempData["myModel"] as ShowRouteViewModel; SavedRoute newRoute = new SavedRoute(); newRoute.ObserveeId = routeData.observee.id; newRoute.start_latitude = routeData.route.waypoint[0].mappedPosition.latitude.ToString(); newRoute.start_longitude = routeData.route.waypoint[0].mappedPosition.longitude.ToString(); newRoute.end_latitude = routeData.route.waypoint[1].mappedPosition.latitude.ToString(); newRoute.end_logitude = routeData.route.waypoint[1].mappedPosition.longitude.ToString(); newRoute.waypoint1 = newRoute.start_latitude + "," + newRoute.start_longitude; newRoute.waypoint2 = newRoute.end_latitude + "," + newRoute.end_logitude; newRoute.avoidstring = routeData.avoid; newRoute.routeRequest = "https://route.api.here.com/routing/7.2/calculateroute.json?app_id=" + Keys.HEREAppID + "&app_code=" + Keys.HEREAppCode + "&waypoint0=" + newRoute.waypoint1 + "&waypoint1=" + newRoute.waypoint2 + "&mode=fastest;pedestrian;traffic:disabled&avoidareas=" + newRoute.avoidstring; TempData["myRoute"] = newRoute; return(View(newRoute)); }
public ActionResult ViewRoute(int id) { SavedRoute route = db.SavedRoutes.Where(e => e.id == id).FirstOrDefault(); return(View(route)); }
public ActionResult CreateRoutes(ObserverSaveRouteModel navData) { ShowRouteViewModel model = new ShowRouteViewModel(); string id = User.Identity.GetUserId(); if (navData.nav.StartAddress != null && navData.nav.EndAddress != null) { GeoCode geo = new GeoCode(); string startcoord = geo.Retrieve(navData.nav.StartAddress); string[] waypoint1; string stopcoord; string[] waypoint2; List <AvoidanceRoute> avoidMarks; //try //{ // waypoint1 = startcoord.Split(','); // stopcoord = geo.Retrieve(navData.nav.EndAddress); // waypoint2 = stopcoord.Split(','); // model.observee = db.Observees.Where(e => e.id == int.Parse(navData.observeeId)).FirstOrDefault(); // model.avoid = GetCrimeData(Double.Parse(waypoint1[0]), Double.Parse(waypoint1[1]), Double.Parse(waypoint2[0]), Double.Parse(waypoint2[1])); // avoidMarks = db.AvoidanceRoutes.Where(e => e.ObserveeId == int.Parse(navData.observeeId) || e.ObserveeId == null).ToList(); //} //catch //{ // return RedirectToAction("CreateRoutes"); //} waypoint1 = startcoord.Split(','); stopcoord = geo.Retrieve(navData.nav.EndAddress); waypoint2 = stopcoord.Split(','); int temp = int.Parse(navData.observeeId); model.observee = db.Observees.Where(e => e.id == temp).FirstOrDefault(); model.avoid = GetCrimeData(Double.Parse(waypoint1[0]), Double.Parse(waypoint1[1]), Double.Parse(waypoint2[0]), Double.Parse(waypoint2[1])); temp = int.Parse(navData.observeeId); avoidMarks = db.AvoidanceRoutes.Where(e => e.ObserveeId == temp || e.ObserveeId == null).ToList(); List <string> avoidCoords = new List <string>(); foreach (AvoidanceRoute x in avoidMarks) { avoidCoords.Add(x.TopLeftLatitude + "," + x.TopLeftLongitude + ";" + x.BottomRightLatitude + "," + x.BottomRightLongitude); if (model.avoid != "") { model.avoid += "!"; } model.avoid += (x.TopLeftLatitude + "," + x.TopLeftLongitude + ";" + x.BottomRightLatitude + "," + x.BottomRightLongitude); } model.route = CreateRoute.Retrieve(startcoord, stopcoord, model.avoid); try { SavedRoute newRoute = new SavedRoute(); newRoute.name = navData.route.name; newRoute.ObserveeId = int.Parse(navData.observeeId); newRoute.start_latitude = model.route.waypoint[0].mappedPosition.latitude.ToString(); newRoute.start_longitude = model.route.waypoint[0].mappedPosition.longitude.ToString(); newRoute.end_latitude = model.route.waypoint[1].mappedPosition.latitude.ToString(); newRoute.end_logitude = model.route.waypoint[1].mappedPosition.longitude.ToString(); newRoute.waypoint1 = newRoute.start_latitude + "," + newRoute.start_longitude; newRoute.waypoint2 = newRoute.end_latitude + "," + newRoute.end_logitude; newRoute.avoidstring = model.avoid; newRoute.routeRequest = "https://route.api.here.com/routing/7.2/calculateroute.json?app_id=" + Keys.HEREAppID + "&app_code=" + Keys.HEREAppCode + "&waypoint0=" + newRoute.waypoint1 + "&waypoint1=" + newRoute.waypoint2 + "&mode=fastest;pedestrian;traffic:disabled&avoidareas=" + newRoute.avoidstring; db.SavedRoutes.Add(newRoute); db.SaveChanges(); } catch { return(RedirectToAction("CreateRoutes")); } } else { return(RedirectToAction("CreateRoutes")); } return(RedirectToAction("Index")); }