public void NewNode(bool First, Node NewNodeToSave) { NewNodeToSave.Level=0; if(reader.BaseStream.Length != 0) NewNodeToSave.SetID(AssignNewID()); else NewNodeToSave.SetID(0); string lineToWrite = NewNodeToSave.ToString(); string line; reader.DiscardBufferedData(); reader.BaseStream.Position = 0; writer.BaseStream.Position=0; writer.WriteLine(lineToWrite); while ((line = reader.ReadLine()) != null) { writer.WriteLine(line); } ReloadStreams(); }
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(); }
public void NewNode(UInt32 ParentID, Node NewNodeToSave) { reader.BaseStream.Position = 0; //writer.BaseStream.Position = 0; NewNodeToSave.SetID(AssignNewID()); NewNodeToSave.Level = GetLevel(ParentID) + 1; string newLineToWrite = NewNodeToSave.ToString (); string line; reader.DiscardBufferedData(); while ((line = reader.ReadLine()) != null) { writer.WriteLine(line); if(ParseID(line) == ParentID) { writer.WriteLine(newLineToWrite); } } ReloadStreams(); }