Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }