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)); }
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()); }
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(); } }
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)); } }