示例#1
0
        public static RequestContext CreateLibrary(string path)//creating library
        {
            var context = new DictDbContext();

            try
            {
                if (context.Words.Any())
                {
                    return(new RequestContext("Словарь уже существует. Для расширения существующего словаря воспользуйтесь командой обновить данные", true));
                }

                if (!File.Exists(path))
                {
                    return(new RequestContext($"Файла не существует в указанной директории {path}", false));
                }
                _wordlist = ReadFile <WordEntity>(path);
                context.AddRange(_wordlist);
                context.SaveChanges();
                _wordlist = context.Words.ToList();
            }
            catch (Exception e)
            {
                return(new RequestContext("Exception in CreateLibrary(): " + e.Message, true));
            }
            finally{ context.Dispose(); }

            return(new RequestContext($"Словарь создан из файла {path}", false));
        }
示例#2
0
 public static RequestContext Initialize()
 {
     using var context = new DictDbContext();
     try
     {
         _wordlist = context.Words.ToList();
     }
     catch (Exception e)
     {
         return(new RequestContext("Exception in Initialize():  " + e.Message, true));
     }
     return(new RequestContext());
 }
示例#3
0
        public static RequestContext UpdateLibrary(string path)//Adding new file for extending our library
        {
            var context = new DictDbContext();

            try
            {
                if (context.Words.Any())
                {
                    if (!File.Exists(path))
                    {
                        return(new RequestContext($"Файла не существует в указанной директории {path}", true));
                    }
                    var tempList = ReadFile <WordEntity>(path);
                    foreach (var newWord in tempList)
                    {
                        var word = context.Words.FirstOrDefault(w => w.word == newWord.word);
                        if (word != null)
                        {
                            word.frequency += newWord.frequency;
                        }
                        else
                        {
                            context.Words.Add(newWord);
                        }
                    }
                    context.SaveChanges();

                    _wordlist = context.Words.ToList();
                    return(new RequestContext($"Словарь обновлен из файла {path}", false));
                }
                else
                {
                    return(new RequestContext($"Словарь не обновлен, поскольку не был создан ранее. Для начала создайте словарь", true));
                }
            }
            catch (Exception e)
            {
                return(new RequestContext("Exception in UpdateLibrary(): " + e.Message, true));
            }
            finally
            {
                context.Dispose();
            }
        }
示例#4
0
 public static RequestContext DeleteLibrary()
 {
     using var context = new DictDbContext();
     try
     {
         if (context.Words.Any())
         {
             context.Words.RemoveRange(context.Words);
             context.SaveChanges();
             _wordlist.Clear();
             return(new RequestContext("Словарь очищен", false));
         }
         else
         {
             return(new RequestContext("Очищение словаря не произведено, поскольку словарь пуст", true));
         }
     }
     catch (Exception e)
     {
         return(new RequestContext("Exception in DeleteLibrary(): " + e.Message, true));
     }
 }