예제 #1
0
        public async Task <IActionResult> GetVersesData(VersesData versesData)
        {
            VerseResponses verses = new VerseResponses();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }


                VersesRepository versesRepository = new VersesRepository(_dbContext);
                verses = await versesRepository.GetVerses(versesData);

                for (int x = 0; x < verses.Verses.Count; x++)
                {
                    verses.Verses[x].TwitterShareUrl   = System.Web.HttpUtility.UrlEncode(verses.Verses[x].TwitterShareUrl);
                    verses.Verses[x].PinterestShareUrl = System.Web.HttpUtility.UrlEncode(verses.Verses[x].PinterestShareUrl);
                    verses.Verses[x].Url = System.Web.HttpUtility.UrlEncode(verses.Verses[x].Url);
                }
            }
            catch
            {
                return(View("Error"));
            }
            return(View(verses));
        }
예제 #2
0
        public async Task <IActionResult> Favorites()
        {
            VersesRepository        versesRepository   = new VersesRepository(_dbContext);
            FavoriteVersesViewModel favoriteVersesView = new FavoriteVersesViewModel();

            favoriteVersesView.favoriteVerses = await versesRepository.GetFavoriteVerses();

            return(View(favoriteVersesView));
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        private void ConfigureDatabase()
        {
            var sqliteFilename = "verses.db3";

            var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            var library   = Path.Combine(documents, "../Library/");
            var path      = Path.Combine(library, sqliteFilename);

            var connection = new SQLiteConnection(new SQLitePlatformIOS(), path, false);

            Database = new VersesRepository(connection);

            FirstRun.Configure();
        }