// overload, now you can send Node object like a argument private void SetReaderOn(Node nod) { reader.DiscardBufferedData(); reader.BaseStream.Position = 0;//zabezpieczyc przed reader bez sciezki do pliku string line; while ((line = reader.ReadLine()) != null) { if(ParseID(line) == nod.GetID()) return; } reader.BaseStream.Position = 0; }
void DestroyChildren(Node current) { List<Node> children = mod.GetSubNodesList (current.GetID ()); if (children.Count == 0) mod.Delete (current.GetID()); else { foreach(Node tmp in children) { DestroyChildren(tmp); children = mod.GetSubNodesList(current.GetID()); } DestroyChildren(current); } }
public void Save(Node NodeToSave) { reader.DiscardBufferedData(); reader.BaseStream.Position = 0; string line; while ((line = reader.ReadLine()) != null) { if (ParseID(line) == NodeToSave.GetID()) { line = NodeToSave.ToString (); } writer.WriteLine (line); } reader.BaseStream.Position=0; ReloadStreams(); }