//[TestMethod] public void A_ConvertOldToNewData() { var database = new TVTDatabase(); database.Initialize(); using (var connection = TVTSQLSession.GetSession()) { var movies = TVTCommandsV2.LoadMoviesOldV2(connection); OldV2Converter.Convert(movies, database, TVTDataRoot.V2InStorage); TVTCommandsV2.LoadFakesForPeople(connection, database.GetAllPeople()); OldV2Converter.RefreshMovieDescriptions(database); OldV2Converter.FakePersonNames(database); var ads = TVTCommandsV2.LoadAdsOldV2(connection); OldV2Converter.Convert(ads, database, TVTDataRoot.V2InStorage); var news = TVTCommandsV2.LoadNewsOldV2(connection); var tt = news.FirstOrDefault(x => x.title.StartsWith("Programmierer")); OldV2Converter.Convert(news, database, TVTDataRoot.V2InStorage); database.RefreshPersonProgrammeCount(); database.RefreshReferences(); database.RefreshStatus(); } using (var connection = TVTSQLSession.GetSessionNewDB()) { TVTCommandsV3.Insert <TVTPerson>(connection, TVTCommandsV3.GetPersonSQLDefinition(), database.GetAllPeople()); TVTCommandsV3.Insert <TVTProgramme>(connection, TVTCommandsV3.GetProgrammeSQLDefinition(), database.GetAllProgrammes(true, true)); //TVTCommandsV3.Insert<TVTEpisode>( connection, TVTCommandsV3.GetEpisodeSQLDefinition(), database.GetAllEpisodes() ); TVTCommandsV3.Insert <TVTAdvertising>(connection, TVTCommandsV3.GetAdvertisingSQLDefinition(), database.GetAllAdvertisings()); TVTCommandsV3.Insert <TVTNews>(connection, TVTCommandsV3.GetNewsSQLDefinition(), database.GetAllNews()); } }
public ITVTDatabase LoadXML(string filename, ITVTDatabase database, TVTDataRoot dataRoot) { var result = database; //int version = 0; //DatabaseVersion dbVersion = DatabaseVersion.V2; //TVTDataContent defaultType = TVTDataContent.FakeWithRefId; var doc = new XmlDocument(); doc.Load(filename); var versionElement = doc.GetElementsByTagName("version"); if (versionElement[0].HasAttribute("value")) { var version = versionElement[0].GetAttributeInteger("value"); if (version != 2) { throw new NotSupportedException("Only database version '2' is supported."); } } { var movies = new List <MovieOldV2>(); var allMovies = doc.GetElementsByTagName("allmovies"); foreach (XmlNode xmlMovie in allMovies) { foreach (XmlNode childNode in xmlMovie.ChildNodes) { switch (childNode.Name) { case "movie": movies.AddRange(LoadMovie(childNode, true)); break; default: throw new NotSupportedException("Only 'movie'-tags are supported."); } } } OldV2Converter.Convert(movies, database, dataRoot); } { var series = new List <MovieOldV2>(); var allSeries = doc.GetElementsByTagName("allseries"); foreach (XmlNode xmlSeries in allSeries) { foreach (XmlNode childNode in xmlSeries.ChildNodes) { switch (childNode.Name) { case "serie": series.AddRange(LoadMovie(childNode, true)); break; default: throw new NotSupportedException("Only 'serie'-tags are supported."); } } } OldV2Converter.Convert(series, database, dataRoot); } { var news = new List <NewsOldV2>(); var allNews = doc.GetElementsByTagName("allnews"); foreach (XmlNode xmlNews in allNews) { foreach (XmlNode childNode in xmlNews.ChildNodes) { switch (childNode.Name) { case "news": news.AddRange(LoadNews(childNode, true)); break; default: throw new NotSupportedException("Only 'news'-tags are supported."); } } } OldV2Converter.Convert(news, database, dataRoot); } { var ads = new List <AdvertisingOldV2>(); var allNews = doc.GetElementsByTagName("allads"); foreach (XmlNode xmlNews in allNews) { foreach (XmlNode childNode in xmlNews.ChildNodes) { switch (childNode.Name) { case "ad": ads.Add(LoadAd(childNode, true)); break; default: throw new NotSupportedException("Only 'news'-tags are supported."); } } } OldV2Converter.Convert(ads, database, dataRoot); } database.RefreshReferences(); OldV2Converter.RefreshMovieDescriptions(database); return(result); }