public static void Initialize(string _RootPath) { if (System.IO.File.Exists(_RootPath + "Contributors.dat") == true) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(ContributorHandler)); System.IO.TextReader textReader = new System.IO.StreamReader(_RootPath + "Contributors.dat"); sm_CH = (ContributorHandler)xmlSerializer.Deserialize(textReader); textReader.Close(); LoadContributors(); } else { sm_CH = new ContributorHandler(); LoadContributors(); Save(_RootPath); } }
public static void MigrateFromProtobufDB(Deprecated.ContributorHandler _ContributorHandler, Dictionary <string, Contributor> _Contributors) { if (sm_ContributorMetaDB.MongoDBCollection.Count() != 0) { Logger.ConsoleWriteLine("Contributor meta data already exists"); var metaDatas = sm_ContributorMetaDB.MongoDBCollection.FindAll(); if (metaDatas.Count() != 1) { Logger.ConsoleWriteLine("Error, there was " + metaDatas.Count() + " meta datas, this is invalid!"); throw new Exception("MigrateFromProtobufDB() failed!"); } ContributorDB.ContributorMetaDBElement metaData = metaDatas.First(); if (metaData.ContributorIDCounter != _ContributorHandler.ContributorIDCounter || metaData.VIPContributorIDCounter != _ContributorHandler.VIPContributorIDCounter) { Logger.ConsoleWriteLine("Error, meta data did not match! " + "(metaData.ContributorIDCounter(" + metaData.ContributorIDCounter + ") != _ContributorHandler.ContributorIDCounter(" + _ContributorHandler.ContributorIDCounter + ") || metaData.VIPContributorIDCounter(" + metaData.VIPContributorIDCounter + ") != _ContributorHandler.VIPContributorIDCounter(" + _ContributorHandler.VIPContributorIDCounter + ")"); throw new Exception("MigrateFromProtobufDB() failed!"); } } foreach (var contributor in _Contributors) { if (sm_ContributorDB.Find(e => e.Key, contributor.Key) == null) { var newContributor = new ContributorDB.ContributorDBElement(contributor.Key, contributor.Value, VF.HiddenStrings.DilatazuUserID); sm_ContributorDB.Add(newContributor); Logger.ConsoleWriteLine("Added new Contributor"); } else { Logger.ConsoleWriteLine("Contributor already exists"); } } if (sm_ContributorMetaDB.MongoDBCollection.Count() == 0) { ContributorDB.ContributorMetaDBElement metaData = new ContributorDB.ContributorMetaDBElement(); metaData.ContributorIDCounter = _ContributorHandler.ContributorIDCounter; metaData.VIPContributorIDCounter = _ContributorHandler.VIPContributorIDCounter; sm_ContributorMetaDB.Add(metaData); Logger.ConsoleWriteLine("Added Contributor meta data"); } }