public VerseResponse GetVerse(int surahNumber, int verseNumber) { var verseResponse = new VerseResponse(); var s = new StorageService(); var verse = s.SetOf <Verse>().Single(v => v.SurahNumber == surahNumber && v.VerseNumber == verseNumber); var words = verse.Words.Select(w => BuildWord(w)).ToList(); verseResponse.ArabicWords = words; verseResponse.EnglishText = verse.Translation.Text; s.Dispose(); return(verseResponse); }
/// <summary> /// When the user selects a verse to save as favorites, allow the data to be saved. The user may want to browse the data through some other UI. /// </summary> /// <param name="versetext"></param> /// <param name="imagelink"></param> /// <param name="versedate"></param> /// <param name="videolink"></param> /// <param name="referencelink"></param> /// <param name="versenumbers"></param> /// <param name="chapter"></param> /// <param name="book"></param> /// <param name="biblereferencelink"></param> /// <param name="facebookshareurl"></param> /// <param name="twittershareurl"></param> /// <param name="pinterestshareurl"></param> /// <param name="isvalid"></param> /// <param name="id"></param> /// <param name="url"></param> /// <returns></returns> public async Task <bool> AddToFavorites(string versetext, string imagelink, DateTime versedate, string videolink, string referencelink, string versenumbers, string chapter, string book, string biblereferencelink, string facebookshareurl, string twittershareurl, string pinterestshareurl, bool isvalid, string id, string url) { VerseResponse verseResponse = new VerseResponse { VerseText = versetext, ImageLink = imagelink, VerseDate = versedate, VideoLink = videolink, ReferenceLink = referencelink, VerseNumbers = versenumbers, Chapter = chapter, Book = book, BibleReferenceLink = biblereferencelink, FacebookShareUrl = facebookshareurl, TwitterShareUrl = twittershareurl, PinterestShareUrl = pinterestshareurl, IsValid = isvalid, Id = id, Url = url }; VersesRepository versesRepository = new VersesRepository(_dbContext); await versesRepository.AddToFavorites(verseResponse); return(true); }
public VerseResponse GetVerse(int surahNumber, int verseNumber) { var verseResponse = new VerseResponse(); var verse = _storageService.SetOf <Verse>().SingleOrDefault(v => v.SurahNumber == surahNumber && v.VerseNumber == verseNumber); if (verse == null) { return(null); } var words = verse.Words.Select(w => BuildWord(w)).ToList(); verseResponse.ArabicWords = words; verseResponse.EnglishText = verse.Translation?.Text ?? ""; return(verseResponse); }
public async Task <bool> AddToFavorites(VerseResponse verseResponse) { bool rtn = true; try { // if the verse already exists, then do not add it again. Some users like to click multiple times. FavoriteVerses verseFind = _dbContext.GetFavoriteVerses.FirstOrDefault(c => c.VerseText == verseResponse.VerseText); if (verseFind == null) { FavoriteVerses verse = new FavoriteVerses(); verse.VerseText = verseResponse.VerseText; verse.ImageLink = verseResponse.ImageLink ?? ""; verse.VerseDate = verseResponse.VerseDate; verse.VideoLink = verseResponse.VideoLink ?? ""; verse.ReferenceLink = verseResponse.ReferenceLink ?? ""; verse.VerseNumbers = verseResponse.VerseNumbers ?? ""; verse.Chapter = verseResponse.Chapter ?? ""; verse.Book = verseResponse.Book ?? ""; verse.ReferenceText = verseResponse.ReferenceText ?? ""; verse.BibleReferenceLink = verseResponse.BibleReferenceLink ?? ""; verse.FacebookShareUrl = verseResponse.FacebookShareUrl ?? ""; verse.TwitterShareUrl = verseResponse.TwitterShareUrl ?? ""; verse.PinterestShareUrl = verseResponse.PinterestShareUrl ?? ""; verse.IsValid = verseResponse.IsValid; verse.Id = verseResponse.Id ?? ""; verse.Url = verseResponse.Url ?? ""; _dbContext.GetFavoriteVerses.Add(verse); _dbContext.SaveChanges(); } } catch { // please - more error handling rtn = false; } return(rtn); }