static void Main(string[] args) { string[] text = System.IO.File.ReadAllText("D:\\Eclips projects\\wiki-surf-dev-project\\WikiSurfCore\\WikiProcess\\words.txt").Replace("\r", "").Split('\n'); using (var db = new WikiSurfCore.WikiSurfContext()) { var wiki = new Wiki("TheNameOfMyBot/1.0", "en.wikipedia.org", "https://en.wikipedia.org/w/api.php"); foreach (var row in text) { var pages = wiki.Query.search(row.Trim()) .Select(x => x.title) .ToList() .Where(x => x.Trim().ToLower() == row.Trim().ToLower()) .ToList(); if (pages.Count > 0) { if (db.WordBanks.FirstOrDefault(x => x.Word == row.Trim()) == null) { db.WordBanks.Add(WordBank.AddWord(row.Trim())); db.SaveChanges(); } } } } }
private void AddWordElements(WordBank wordBank) { Console.WriteLine("Adding base words..."); var symbolMapProvided = !string.IsNullOrWhiteSpace(_symbolMap); ICharacterModifier symbolModifier = null; if (symbolMapProvided) { symbolModifier = new CharacterSymbolModifier(_symbolMap); } var caseModifier = new CharacterCaseModifier(); foreach (var inputElement in _inputElements) { WordElement wordElement = new WordElement(inputElement.Key); Console.Write($"Word: '{inputElement.Key}'"); var characterModifiers = new List <ICharacterModifier>(); if (symbolMapProvided && inputElement.Value.SymbolVariation) { Console.Write(" + symbol substitution"); wordElement.AddCharacterModifier(symbolModifier); } if (inputElement.Value.CaseVariation) { Console.Write(" + case variation"); wordElement.AddCharacterModifier(caseModifier); } Console.Write(" ... "); wordElement.GenerateCharacterVariations(); Console.WriteLine($"{wordElement.Count} variants"); wordBank.AddWord(wordElement); } Console.WriteLine(); }