Exemplo n.º 1
0
        //[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());
            }
        }
Exemplo n.º 2
0
        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);
        }