Ejemplo n.º 1
0
        public ActionResult FindPath(int x1, int y1, int x2, int y2)
        {
            using (var db = new GraphContext())
            {
                var start = db.Nodes.FirstOrDefault(p => p.X == x1 && p.Y == y1);
                var end = db.Nodes.FirstOrDefault(p => p.X == x2 && p.Y == y2);
                //var r = db.Database.SqlQuery<FindPathResult>("EXEC dbo.FindPath", new { StartNode = end.Id, EndNode = end.Id }).ToList<FindPathResult>();
                var r = db.Database.SqlQuery<FindPathResult>("FindPath @StartNode, @EndNode", new SqlParameter("StartNode", start.Id), new SqlParameter("EndNode", end.Id)).ToList();

                return Json(r);
            }
        }
Ejemplo n.º 2
0
 public ActionResult Index()
 {
     using (var db = new GraphContext())
     {
         var jss = new JavaScriptSerializer();
         ViewBag.Json1 = jss.Serialize(db.Nodes.Select(p => new { p.Id, N = p.Name, p.X, p.Y }));
         ViewBag.Json2 = jss.Serialize(db.Edges.Where(p=>p.Dir == "A").Select(p => new { NF = new { p.FromNode.Id, p.FromNode.X, p.FromNode.Y }, 
                                                                  NT = new { p.ToNode.Id, p.ToNode.X, p.ToNode.Y } 
                                                                 }));
     }
     return View();
 }