Exemple #1
0
        public static void Delete(ISaveLoadable savable)
        {
            object lockObject;

            AddIdToLock(savable.GetId());
            lockObject = GetLockById(savable.GetId());

            lock (lockObject)
            {
                System.IO.File.Delete(System.IO.Path.Combine(Paths.GetUserForkandBeardDataSubFolderPath(savable.GetSubDirectoryPath()), String.Format("{0}.xml", savable.GetId().ToString())));
            }
        }
Exemple #2
0
        public static void Save(ISaveLoadable savable)
        {
            string dataPath;

            System.Xml.Serialization.XmlSerializer serialiser;
            object lockObject;

            AddIdToLock(savable.GetId());
            lockObject = GetLockById(savable.GetId());

            serialiser = new System.Xml.Serialization.XmlSerializer(savable.GetType());

            dataPath = Paths.GetUserForkandBeardDataSubFolderPath(savable.GetSubDirectoryPath());
            lock (lockObject)
            {
                using (System.IO.FileStream fs = new System.IO.FileStream(System.IO.Path.Combine(dataPath, String.Format("{0}.xml", savable.GetId().ToString())), System.IO.FileMode.Create))
                {
                    serialiser.Serialize(fs, savable);
                }
            }
            RemoveIdToLock(savable.GetId());
        }