// Same as other WriteNodesAndTagsToFile(), but accepts hashtables private static void WriteHashNodesToFile(Hashtable points) { System.Console.WriteLine("In Write HashNodes()"); StreamWriter file; file = new StreamWriter(_path + "hashNodes.txt", false); foreach (DictionaryEntry pair in points) { HashNode node = (YouRunApp.HashNode)pair.Value; file.WriteLine("HashNode: " + node.GetName()); file.WriteLine("Lat: " + node.GetLocation().GetLatitude()); file.WriteLine("Lon: " + node.GetLocation().GetLongitude()); file.WriteLine("Key: " + node.GetKeyword()); file.WriteLine("Description: " + node.GetDescription()); // Write tags of node to file foreach (HashNode.Tag tag in node.GetTagList()) { file.WriteLine("Keyword: " + tag.Keyword); file.WriteLine("Value: " + tag.Value); } file.WriteLine(); } file.Close(); System.Console.WriteLine("Leaving HashNodes()"); }
// The function writes the given node to a file private static void WriteNodeToFile(HashNode hashNode, StreamWriter file) { file.Write("Name: "); file.WriteLine(hashNode.GetName()); file.Write("Key: "); file.WriteLine(hashNode.GetKeyword()); file.Write("Lat: "); file.WriteLine(hashNode.GetLocation().GetLatitude()); file.Write("Lon: "); file.WriteLine(hashNode.GetLocation().GetLongitude()); file.WriteLine("\n"); }
// The function checks if the node is runnable. If it is, it sets its // runnable attribute to true and adds it to the runnablePoints // hashtable private static void CheckRun(HashNode hashNode, Hashtable runnablePoints) { StreamWriter runnableFile; if (hashNode.GetName() == "sidewalk" || hashNode.GetName() == "footway") { hashNode.SetRunnable(); runnablePoints.Add(hashNode.GetLocation(), hashNode); // The node is runnable, write it to the runnableFile runnableFile = new StreamWriter(_path + "/runable.txt", true); WriteNodeToFile(hashNode, runnableFile); runnableFile.Close(); } }