Exemplo n.º 1
0
        // Метод для создания словаря - формирование нового словаря по входящему файлу, путь до файла необходимо указывать после использования параметра
        // Если словарь уже заполнен (имеет значения), то выводится соответствующее сообщение для пользователя
        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("Словарь успешно заполнен!");
        }
Exemplo n.º 2
0
        // Метод для обновления словаря - дополнение существующего словаря по входящему файлу
        // Данная команда объединяет значения, которые уже хранятся в базе данных с новыми, которые будут получены из файла
        // Если словарь пуст, то будет выведено соответствующее сообщение для пользователя
        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("Словарь успешно дополнен!");
        }