private void CopyProperties(NaviLink naviLink, EditNaviLinkModel editNaviLink) { editNaviLink.Url = naviLink.Url; editNaviLink.Description = naviLink.Description; editNaviLink.LinkOrder = editNaviLink.LinkOrder; editNaviLink.NaviHeadingId = naviLink.NaviHeading.Id; }
private void CopyProperties(EditNaviLinkModel editNaviLink, NaviLink naviLink) { naviLink.Url = editNaviLink.Url; naviLink.Description = editNaviLink.Description; naviLink.LinkOrder = editNaviLink.LinkOrder; naviLink.NaviHeading = db.Set <NaviHeading>().SingleOrDefault(e => e.Id == editNaviLink.NaviHeadingId); }
public ActionResult DeleteConfirmed(int id) { NaviLink navilink = db.Set <NaviLink>().Find(id); int parentId = navilink.NaviHeading.NaviNode.Id; db.Set <NaviLink>().Remove(navilink); db.SaveChanges(); return(RedirectToAction("Navi", "Section", new { id = parentId })); }
public ActionResult Edit(EditNaviLinkModel editNaviLink) { if (ModelState.IsValid) { NaviLink naviLink = db.Set <NaviLink>().Single(e => e.Id == editNaviLink.Id); CopyProperties(editNaviLink, naviLink); ((DbContext)db).Entry(naviLink).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Navi", "Section", new { id = naviLink.NaviHeading.NaviNode.Id })); } return(View(editNaviLink)); }
public ActionResult Create(EditNaviLinkModel editNaviLink) { if (ModelState.IsValid) { NaviLink naviLink = new NaviLink(); CopyProperties(editNaviLink, naviLink); db.Set <NaviLink>().Add(naviLink); db.SaveChanges(); return(RedirectToAction("Navi", "Section", new { id = naviLink.NaviHeading.NaviNode.Id })); } return(View(editNaviLink)); }
// // GET: /NaviLink/Edit/5 public ActionResult Edit(int id) { NaviLink naviLink = db.Set <NaviLink>().Single(e => e.Id == id); ViewBag.NaviNode = naviLink.NaviHeading.NaviNode; EditNaviLinkModel editNaviLink = new EditNaviLinkModel(); CopyProperties(naviLink, editNaviLink); ViewBag.Headings = naviLink.NaviHeading.NaviNode.NaviHeadings.Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.Description }); return(View(editNaviLink)); }
public static void Extract(string path, int index) { try { string filename = path + "\\NODES" + index + ".DAT"; using (FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read)) { Header header = new Header(); byte[] buffer = new byte[20]; for (int i = 0; i < 20; i++) { fs.Read(buffer, i, 1); } header.nodes = GetLittleEndianInt32FromByteArray(buffer, 0); header.vehiclesNodes = GetLittleEndianInt32FromByteArray(buffer, 4); header.pedNodes = GetLittleEndianInt32FromByteArray(buffer, 8); header.naviNodes = GetLittleEndianInt32FromByteArray(buffer, 12); header.links = GetLittleEndianInt32FromByteArray(buffer, 16); //Console.WriteLine("== Header == \r\n" + header.ToString()); tmpPathPoints = new Vector3[header.naviNodes]; PathNode tmpPathNode; pathNodes[index] = new List <PathNode>(); for (int j = 0; j < header.nodes; j++) { buffer = new byte[28]; for (int i = 0; i < 28; i++) { fs.Read(buffer, i, 1); } tmpPathNode = new PathNode(); tmpPathNode.position = new Vector3(GetLittleEndianInt16FromByteArray(buffer, 8) / 8, GetLittleEndianInt16FromByteArray(buffer, 10) / 8, GetLittleEndianInt16FromByteArray(buffer, 12) / 8); tmpPathNode.linkID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 16); tmpPathNode.areaID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 18); tmpPathNode.nodeID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 20); tmpPathNode.pathWidth = buffer[22]; tmpPathNode.nodeType = buffer[23]; tmpPathNode.flags = GetLittleEndianInt32FromByteArray(buffer, 24); pathNodes[index].Add(tmpPathNode); //Console.WriteLine("== PathNode " + j + " == \r\n" + tmpPathNode.ToString()); } NaviNode tmpNaviNode; naviNodes[index] = new List <NaviNode>(); for (int j = 0; j < header.naviNodes; j++) { buffer = new byte[14]; for (int i = 0; i < 14; i++) { fs.Read(buffer, i, 1); //Console.WriteLine("buffer[" + i + "] {0:X}", buffer[i]); } tmpNaviNode = new NaviNode(); tmpNaviNode.position = new Vector2(GetLittleEndianInt16FromByteArray(buffer, 0) / 8, GetLittleEndianInt16FromByteArray(buffer, 2) / 8); tmpNaviNode.areaID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 4); tmpNaviNode.nodeID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 6); tmpNaviNode.direction = new Vector2(sbyte.Parse(buffer[8].ToString("X"), System.Globalization.NumberStyles.HexNumber), sbyte.Parse(buffer[9].ToString("X"), System.Globalization.NumberStyles.HexNumber)); tmpNaviNode.flags = GetLittleEndianInt32FromByteArray(buffer, 10); naviNodes[index].Add(tmpNaviNode); //Console.WriteLine("== NaviNode " + j + " == \r\n" + tmpNaviNode.ToString()); pathPoints.Add(new Vector3(tmpNaviNode.position.X, tmpNaviNode.position.Y, GetAverageZ(tmpNaviNode.position.X, tmpNaviNode.position.Y) + 20.0)); } Link[] links = new Link[header.links]; Link tmpLink; for (int j = 0; j < header.links; j++) { buffer = new byte[4]; for (int i = 0; i < 4; i++) { fs.Read(buffer, i, 1); //Console.WriteLine("buffer[" + i + "] {0:X}", buffer[i]); } tmpLink = new Link(); tmpLink.areaID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 0); tmpLink.nodeID = (ushort)GetLittleEndianInt16FromByteArray(buffer, 2); links[j] = tmpLink; //Console.WriteLine("== Link " + j + " == \r\n" + tmpLink.ToString()); } for (int i = 0; i < 768; i++) { fs.ReadByte(); } NaviLink[] naviLinks = new NaviLink[512]; NaviLink tmpNaviLink; for (int j = 0; j < 512; j++) { buffer = new byte[2]; for (int i = 0; i < 2; i++) { fs.Read(buffer, i, 1); //Console.WriteLine("buffer[" + i + "] {0:X}", buffer[i]); } tmpNaviLink = new NaviLink(); UInt16 tmp = (ushort)GetLittleEndianInt16FromByteArray(buffer, 0); tmpNaviLink.areaID = (ushort)Convert.ToInt16(tmp >> 6); tmpNaviLink.naviNodeID = (ushort)Convert.ToInt16(tmp & 0b0000000000111111); naviLinks[j] = tmpNaviLink; //Console.WriteLine("== NaviLink " + j + " == \r\n" + tmpNaviLink.ToString()); } //Console.WriteLine("PathExtractor.cs - PathExtractor.Extract:I: Path loaded from " + fs.Name); //Console.WriteLine("PathExtractor.cs - PathExtractor.Extract:I: Path points: " + tmpPathPoints.Length); fs.Close(); } } catch (IOException e) { Console.WriteLine("PathExtractor.cs - PathExtractor.Extract:E: " + e); } }
// // GET: /NaviLink/Details/5 public ViewResult Details(int id) { NaviLink navilink = db.Set <NaviLink>().Find(id); return(View(navilink)); }
// // GET: /NaviLink/Delete/5 public ActionResult Delete(int id) { NaviLink navilink = db.Set <NaviLink>().Find(id); return(View(navilink)); }