public Bible GetBible(BibleConstants.BibleVersions bibleVersion = BibleConstants.BibleVersions.Msg, string bibleFullName = "The Message Bible") { var selectedBible = SessionBible?.Find(x => x.ShortName.Equals(bibleVersion.ToString(), StringComparison.CurrentCultureIgnoreCase)); if (selectedBible != null) { return(selectedBible); } var bibleFilepath = HostingEnvironment.MapPath($"~/App_Data/Books/{bibleVersion}.json"); var bibleStreamToString = File.ReadAllText(bibleFilepath); selectedBible = BibleParser(bibleStreamToString); if (SessionBible != null) { SessionBible.Add(selectedBible); } else { SessionBible = new List <Bible> { selectedBible }; } return(selectedBible); }
public Bible BibleParser(string theEntireBibleJsonString, string bibleName = "Unknown", string shortName = "Unknown", BibleConstants.BibleVersions bibleVersion = BibleConstants.BibleVersions.Tmsg) { var tempBible = new Bible { Books = new List <Book>(), Name = bibleName, ShortName = shortName, Version = bibleVersion.ToString() }; //All books after reading from File var bibleBooks = JsonConvert.DeserializeObject <Bible>(theEntireBibleJsonString); //Each Book in the Bible tempBible.Books = bibleBooks.Books.OrderBy(x => x.Id).ToList(); return(tempBible); }