예제 #1
0
        /* common methods */
        /* save whole database */
        public void Save()
        {
            String       tempName = Name + Misc.Common.saveInProgressAppendix;
            BinaryWriter writer   = new BinaryWriter(File.Open(tempName, FileMode.Create));

            // patterns are delimited by blank line
            foreach (RecordDescription a in Description)
            {
                RecordDescription.SaveRecordType(writer, a);
                a.Save(writer);
            }
            writer.Write(-1); //deliminer
            int count = Description.Count;

            foreach (Record a in _records)
            {
                for (int i = 0; i < count; i++)
                {
                    a.GetValue(i).Save(writer);
                }
            }
            writer.Close();
            File.Delete(Name);
            File.Move(tempName, Name);
            onUpdate();
        }