private static bool LoadWords(string fileName) { List <string> words = null; try { words = new List <string>(); string[] lines = System.IO.File.ReadAllLines(fileName); List <string> withDuplicates = lines.ToList(); words = withDuplicates.Distinct().ToList(); List <HaikuWord> haikuWords = new List <HaikuWord>(); foreach (var word in words) { HaikuWord haikuWord = new HaikuWord(); if (!HaikuDBAccess.IsAlreadyInDatabase(word)) { haikuWord = MakeHaikuWordFromWordString(word); if (haikuWord != null) { HaikuDBAccess.SaveHaikuWord(haikuWord); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } return(true); }
private static HaikuWord MakeHaikuWordFromWordString(string word) { try { HaikuWord haikuWord = new HaikuWord(); string response = WordApiResponse.GetResponseStream(WordApiRequest.CreateGetWordRequest(word)); if (response != null) { WordApiWord wordApiWord = JsonConvert.DeserializeObject <WordApiWord>(response); haikuWord.WordString = word; haikuWord.WordPartOfSpeech = wordApiWord.results[0].partOfSpeech; haikuWord.NumberOfSyllables = (Int16)wordApiWord.syllables.count; return(haikuWord); } } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } return(null); }
/// <summary> /// Saves the haiku. /// </summary> /// <param name="haikuWord">The haiku word.</param> public static void SaveHaikuWord(HaikuWord haikuWord) { db.Words.Add(haikuWord); db.SaveChanges(); }