// Метод для создания словаря - формирование нового словаря по входящему файлу, путь до файла необходимо указывать после использования параметра // Если словарь уже заполнен (имеет значения), то выводится соответствующее сообщение для пользователя public static void CreateDictionary() { string inputText = string.Empty; Dictionary <string, int> WordsDictionary = new Dictionary <string, int>(); inputText = AdditionalCommands.CheckFile(); if (inputText.Length == 0) { Console.WriteLine("Ошибка! Указанный файл пуст."); return; } using (var db = new WordContext()) { if (db.Words.Count() != 0) { Console.WriteLine("Ошибка! Словарь уже заполнен, его необходимо очистить, либо выбрать команду обновить словарь."); return; } AdditionalCommands.SplitText(ref WordsDictionary, inputText); foreach (var oneWord in WordsDictionary) { var word = new Word { WordName = oneWord.Key, WordFrequency = oneWord.Value }; db.Words.Add(word); } db.SaveChanges(); } Console.WriteLine("Словарь успешно заполнен!"); }
// Метод для обновления словаря - дополнение существующего словаря по входящему файлу // Данная команда объединяет значения, которые уже хранятся в базе данных с новыми, которые будут получены из файла // Если словарь пуст, то будет выведено соответствующее сообщение для пользователя public static void UpdateDictionary() { Dictionary <string, int> WordsDictionary = new Dictionary <string, int>(); string inputText = AdditionalCommands.CheckFile(); if (inputText.Length == 0) { Console.WriteLine("Ошибка! Указанный файл пуст."); return; } using (var db = new WordContext()) { AdditionalCommands.InsertWords(ref WordsDictionary, inputText); foreach (var oneWord in WordsDictionary) { if (db.Words.Count() == 0) { Console.WriteLine("Ошибка! Словарь пуст, необходимо выбрать команду заполнения пустого словаря."); return; } var query = from find in db.Words where find.WordName == oneWord.Key select find; if (query.Count() == 0) { var word = new Word { WordName = oneWord.Key, WordFrequency = oneWord.Value }; db.Words.Add(word); } else { query.FirstOrDefault().WordFrequency = oneWord.Value; } } db.SaveChanges(); } Console.WriteLine("Словарь успешно дополнен!"); }