/// <summary> /// Convert from MediaWiki categories to MindTouch tags /// </summary> public void ConvertCategories() { Console.Out.Write("Migrating categories... "); Dictionary<string, List<string>> pageToCategoryMap = MediaWikiDA.GetCategoryNamesByPage(); var tagBL = new TagBL(); foreach(KeyValuePair<string, List<string>> categoriesByPage in pageToCategoryMap) { TagBE[] tags = new TagBE[categoriesByPage.Value.Count]; for(int i = 0; i < tags.Length; i++) { TagBE categoryTag = new TagBE(); categoryTag.Type = TagType.TEXT; categoryTag.Name = categoriesByPage.Value[i]; tags[i] = categoryTag; } ulong pageID; if(_MWToDWPageIDMap.TryGetValue(categoriesByPage.Key, out pageID)) { tagBL.InsertTags(pageID, tags); } } Console.Out.WriteLine("Done!"); }