public BibleVerse searchVerses(BibleVerse bv) { string sqlStatement = "SELECT * FROM dbo.Verse WHERE Testament LIKE @Testament AND Book LIKE @Book AND Chapter=@Chapter AND Verse=@Verse"; // AND Book='@Book' AND Chapter='1' AND Verse='1' BibleVerse bibleV = null; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(sqlStatement, connection); command.Parameters.AddWithValue("@Testament", '%' + bv.testament + '%'); command.Parameters.AddWithValue("@Book", '%' + bv.book + '%'); command.Parameters.AddWithValue("@Chapter", bv.chapter); command.Parameters.AddWithValue("@Verse", bv.verse); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { bibleV = new BibleVerse((string)reader[1], (string)reader[2], (int)reader[3], (int)reader[4], (string)reader[5]); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(bibleV); }
public ActionResult addVerse(BibleVerse bibleVerse) { //put an item in the log file stateting you've entered this method MyLogger.GetInstance().Info(""); MyLogger.GetInstance().Info("Entering the BibleController. addVerse() method"); try { //Call the Security Business Service createVerse() method from the addVerse() method //and save the results of the method call in a local variable: success SecurityService securityService = new SecurityService(); Boolean success = securityService.createVerse(bibleVerse); if (success) { MyLogger.GetInstance().Info("Exiting the addVerse() in BibleController. Add Success!"); return(View("AddVerseSuccess")); } else { MyLogger.GetInstance().Info("Exiting the BibleController. Login Failure"); return(View("AddVerseFail")); } } catch (Exception e) { MyLogger.GetInstance().Error("Exception!" + e.Message); return(Content("Exception in addVerse" + e.Message)); } }
public void getVerse(IDialogContext content, LuisResult result) { BibleVerse verse = new BibleVerse(); foreach (EntityRecommendation entity in result.Entities) { if (entity.Entity.Equals("Book")) { verse.Book = verse.Book ?? String.Empty + entity.Entity; } else if (entity.Entity.Equals("Chapter")) { verse.Chapter = int.Parse(entity.Entity); } else if (entity.Entity.Equals("Verse")) { if (verse.StartVerse == 0) { verse.StartVerse = int.Parse(entity.Entity); } else { verse.EndVerse = int.Parse(entity.Entity); } } } }
public bool createVerse(BibleVerse bv) { using (SqlConnection connection = new SqlConnection(connectionString)) { string query = "INSERT INTO dbo.Verse (Testament, Book, Chapter, Verse, Text) VALUES (@Testament, @Book, @Chapter, @Verse, @Text)"; SqlCommand myCommand = new SqlCommand(query, connection); myCommand.Parameters.AddWithValue("@Testament", bv.testament); myCommand.Parameters.AddWithValue("@Book", bv.book); myCommand.Parameters.AddWithValue("@Chapter", bv.chapter); myCommand.Parameters.AddWithValue("@Verse", bv.verse); myCommand.Parameters.AddWithValue("@Text", bv.text); try { connection.Open(); if (myCommand.ExecuteNonQuery() > 0) { return(true); } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(false); } }
//Create Verse will create take what the user filled out in the Add Verse Form and create a new object of verse in the database public bool createVerse(BibleVerse bibleVerse) { MyLogger.GetInstance().Info("Entering the SecurityDAO. createVerse() method"); //start by assuming nothing was found bool success = false; //queryString to create new verse in database String queryString = "INSERT INTO dbo.Verses (testamentSelection, bookSelection, chapterNumber, verseNumber, verseText) VALUES (@Testament, @Book, @ChapterNum, @VerseNum, @VerseText)"; using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { using (SqlCommand sqlCommand = new SqlCommand(queryString, sqlConnection)) { sqlCommand.Parameters.Add("@Testament", SqlDbType.VarChar).Value = bibleVerse.TestamentSelection; sqlCommand.Parameters.Add("@Book", SqlDbType.VarChar).Value = bibleVerse.BookSelection; sqlCommand.Parameters.Add("@ChapterNum", SqlDbType.VarChar).Value = bibleVerse.ChapterNumber; sqlCommand.Parameters.Add("@VerseNum", SqlDbType.VarChar).Value = bibleVerse.VerseNumber; sqlCommand.Parameters.Add("@VerseText", SqlDbType.Text).Value = bibleVerse.VerseText; try { sqlConnection.Open(); sqlCommand.ExecuteNonQuery(); MyLogger.GetInstance().Info("sql Querey successfully inserted a verse into the database"); sqlConnection.Close(); success = true; } catch (Exception e) { MyLogger.GetInstance().Info("Fail occured in the createVerse() method within the SecurityDAO"); Debug.WriteLine(e.Message); } } } return(success); }
public ActionResult searchVerse(BibleVerse bibleVerse) { Debug.WriteLine(bibleVerse.ChapterNumber); //put an item in the log file stateting you've entered this method MyLogger.GetInstance().Info(""); MyLogger.GetInstance().Info("Entering the BibleController. searchVerse() method"); try { //Call the Security Business Service findVerse() method from the searchVerse() method //and save the results of the method call in a local variable: returnedVerse SecurityService securityService = new SecurityService(); BibleVerse returnedVerse = securityService.findVerse(bibleVerse); Debug.WriteLine("controller return: " + returnedVerse.VerseText); if (returnedVerse.VerseText == "") { MyLogger.GetInstance().Info("Exiting the BibleController. searchVerse Failure"); return(View("SearchVerseFail")); } else { MyLogger.GetInstance().Info("Exiting the searchVerse() in BibleController. searchVerse Success!"); return(View("SearchVerseResult", returnedVerse)); } } catch (Exception e) { MyLogger.GetInstance().Error("Exception!" + e.Message); return(Content("Exception in searchVerse" + e.Message)); } }
public async Task <ActionResult <MinQuestion> > GetFitBQuestion(string BibleId, string BookName, int Chapter, int Verse) { BibleId = await QuizQuestion.GetValidBibleIdAsync(_context, BibleId); BibleBook Book = await BibleBook.GetBookAndChapterByNameAsync(_context, BibleId, BookName, Chapter); if (Book == null) { return(NotFound()); } BibleVerse verse = new BibleVerse(); try { verse = await _context.BibleVerses.Where(v => v.BibleId == BibleId && v.BookNumber == Book.BookNumber && v.Chapter == Chapter && v.Verse == Verse) .SingleAsync(); } catch { return(NotFound()); } QuizQuestion Question = new QuizQuestion(); Question = await Question.BuildQuestionForVerseAsync(_context, verse, 8, BibleId); Question.PopulatePBEQuestionInfo(Book); MinQuestion minQuestion = new MinQuestion(Question); return(minQuestion); }
void verseView_SelectedVerseChanged(BibleVerse obj) { Action <BibleVerse> handler = SelectedVerseChanged; if (handler != null) { handler(obj); } }
public BibleVerse SearchForBibleVerse(BibleVerse bibleVerse) { string testament = bibleVerse.Testament; string book = bibleVerse.Book; int chapterNumber = bibleVerse.ChapterNumber; int verseNumber = bibleVerse.VerseNumber; return(daoService.SearchForBibleVerse(testament, book, chapterNumber, verseNumber)); }
public async Task <ApiResponse <string> > ReindexNKJV() { var fileName = @"C:\Suzette\TheArabicBible\The Arabic Bible\BibleCopies\KJV\King-James-Bible-KJV-Bible-Clean.txt"; var bibleText = string.Empty; using (var reader = new System.IO.StreamReader(fileName)) { bibleText = reader.ReadToEnd(); } var books = bibleText.Split('@'); var bookCounter = 1; foreach (var book in books) { var bookText = book.Replace("�", "").Replace("\n", " ").Replace("\r", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); if (!string.IsNullOrWhiteSpace(bookText)) { var verses = bookText.Split('{'); foreach (var verse in verses) { var verseInfo = verse.Split('}'); var verseIds = verseInfo[0].Split(':'); if (verseIds.Length > 1) { var verseText = verseInfo[1]; var doc = new BibleVerse() { BibleId = 2 , TestmentId = (bookCounter <= 39 ? 1 : 2) , GroupId = GetGroupId(bookCounter) , BookId = bookCounter , ChapterId = Convert.ToInt16(verseIds[0]) , VerseNo = Convert.ToInt16(verseIds[1]) , VerseText = verseText , SearchText = verseText }; // return new ApiResponse<string>() { Data = JsonConvert.SerializeObject(doc) }; var response = await _bibleRepository.AddDocument(doc); } } bookCounter++; } } return(new ApiResponse <string>());//todo set status to false }
public void DisplayVerse(BibleVerse bibleVerse) { if (bibleVerse == null) { live.DrawVerse(null, null); } else { live.DrawVerse(bibleVerse.Text, bibleVerse.Reference); } }
public IActionResult SearchResults(string testament, string book, int chapter, int verse) { BibleVerse result = service.Search(testament, book, chapter, verse); ViewBag.Message = "Search Results"; if (result.Chapter == 0) { ViewBag.Message = "No Results. Try Adding Your Verse Or Searching Again"; return(View("SearchFailed")); } return(View("SearchResults", result)); }
public bool Create(string testament, string book, int chapter, int verseNum, string text) { BibleVerse verse = new BibleVerse(); Data = new DataService(); verse.Testament = testament; verse.Book = book; verse.Chapter = chapter; verse.Verse = verseNum; verse.Text = text; bool success = Data.CreateVerse(verse); return success; }
public IActionResult AddVerse(BibleVerse bv) { VerseBusinessService vbs = new VerseBusinessService(); if (vbs.createVerse(bv)) { return(Index()); } else { ErrorViewModel ev = new ErrorViewModel(); ev.RequestId = "Verse creation failed"; return(View("Views/Shared/Error.cshtml", ev)); } }
public async Task <ApiResponse <string> > AddDocument(BibleVerse doc) { var response = new ApiResponse <string>(); var docId = doc.BibleId.ToString("00") + doc.BookId.ToString("00") + doc.ChapterId.ToString("000") + doc.VerseNo.ToString("000"); var endpoint = new EndPoint(); endpoint.ApiMethod = _writeIndex + docId; endpoint.HttpMethod = "POST"; var jsonDoc = JsonConvert.SerializeObject(doc); var esResponse = await _requestManager.ExecuteRequest <ElasticSearchResponse <ElasticSearchBibleDocument>, string>(endpoint, jsonDoc); response.Status = esResponse.Status; response.Data = jsonDoc; return(response); }
public ActionResult AddBibleVerse(BibleVerse bibleVerse) { BibleVerseService bibleVerseService = new BibleVerseService(); if (bibleVerseService.AddBibleVerse(bibleVerse)) { MyLogger.GetInstance().Info("Added Bible Verse to the database"); return(View("VerseSuccessfullyAdded", bibleVerse)); } else { MyLogger.GetInstance().Error("Failed to add Bible Verse to database"); return(View("AddFailed")); } }
public IActionResult FindVerse(BibleVerse bv) { VerseBusinessService vbs = new VerseBusinessService(); if (vbs.findVerse(bv) == null) { ErrorViewModel ev = new ErrorViewModel(); ev.RequestId = "No verse found"; return(View("Views/Shared/Error.cshtml", ev)); } else { BibleVerse bibleV = vbs.findVerse(bv); return(View("Views/Verse/SearchResults.cshtml", bibleV)); } }
public ActionResult SearchForBibleVerse(BibleVerse queryVerse) { BibleVerseService bibleVerseService = new BibleVerseService(); BibleVerse bibleVerse = bibleVerseService.SearchForBibleVerse(queryVerse); if (bibleVerse.Testament != null) { MyLogger.GetInstance().Info("Located Bible Verse with search"); return(View("DisplayBibleVerse", bibleVerse)); } else { MyLogger.GetInstance().Info("Failed to Locate the Bible Verse with search"); return(View("NoResultsFound")); } }
public ActionResult Create(BibleVerse bibleVerse) { try { // TODO: Add insert logic here if (ModelState.IsValid) { db.BibleVerse.Add(bibleVerse); db.SaveChanges(); } return(RedirectToAction("Index")); } catch { return(View(bibleVerse)); } }
/// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task <HttpResponseMessage> Post([FromBody] Activity activity) { if (activity.Type == ActivityTypes.Message) { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); LuisResult result = JsonConvert.DeserializeObject <LuisResult>(await connector.HttpClient.GetStringAsync("")); BibleVerse verse = new BibleVerse(); foreach (EntityRecommendation entity in result.Entities) { if (entity.Entity.Equals("Book")) { verse.Book = verse.Book ?? String.Empty + entity.Entity; } else if (entity.Entity.Equals("Chapter")) { verse.Chapter = int.Parse(entity.Entity); } else if (entity.Entity.Equals("Verse")) { if (verse.StartVerse == 0) { verse.StartVerse = int.Parse(entity.Entity); } else { verse.EndVerse = int.Parse(entity.Entity); } } } //connector.HttpClient. await connector.Conversations.ReplyToActivityAsync(reply); } else { HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }
public async Task <ApiResponse <List <BibleVerse> > > GetDocuments(int bibleId, int bookId, int chapterId) { var response = new ApiResponse <List <BibleVerse> >(); var query = string.Empty; query = query + "( "; query = query + " 'query': ('bool': ("; query = query + " 'must' : [ ( 'term' : ( 'BibleId': {0}) ), ( 'term' : ( 'BookId': '{1}') ), ( 'term' : ( 'ChapterId': '{2}') )]"; query = query + ")) "; query = query + ", 'sort' : [ 'BibleId' , 'BookId' , 'ChapterId' , 'VerseNo' ]"; query = query + ", 'from' : {3} "; query = query + ", 'size' : {4} "; query = query + ")"; query = string.Format(query, bibleId, bookId.ToString("00"), chapterId.ToString("000"), 0, 1000); query = query.Replace("(", "{").Replace(")", "}").Replace("'", "\""); var endpoint = new EndPoint(); endpoint.ApiMethod = _readIndex + "_search"; endpoint.HttpMethod = "POST"; var esResponse = await _requestManager.ExecuteRequest <ElasticSearchResponse <ElasticSearchBibleDocument>, string>(endpoint, query); if (esResponse.Status.Ok) { response.Data = new List <BibleVerse>(); foreach (var hit in esResponse.Data.hits.hits) { var verse = new BibleVerse() { BibleId = hit._source.BibleId, TestmentId = hit._source.TestmentId, BookId = hit._source.BookId, ChapterId = hit._source.ChapterId, VerseNo = Convert.ToInt16(hit._source.VerseNo), VerseText = hit._source.VerseText }; response.Data.Add(verse); } } else { response.Status = esResponse.Status; } return(response); }
public BibleVerse SearchForBibleVerse(string testament, string book, int chapterNumber, int verseNumber) { BibleVerse bibleVerse = new BibleVerse(); string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=BibleVerses;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; string queryString = "SELECT * FROM dbo.Verses WHERE Testament = @Testament AND Book = @Book AND ChapterNumber = @ChapterNumber AND VerseNumber = @VerseNumber"; using (SqlConnection conn = new SqlConnection(connectionString)) { //create command and parameter objects SqlCommand command = new SqlCommand(queryString, conn); command.Parameters.AddWithValue("@Testament", testament); command.Parameters.AddWithValue("@Book", book); command.Parameters.AddWithValue("@ChapterNumber", chapterNumber); command.Parameters.AddWithValue("@VerseNumber", verseNumber); // open the database and run the command try { conn.Open(); SqlDataReader reader = command.ExecuteReader(); reader.Read(); if (reader.HasRows) { bibleVerse.Testament = reader["Testament"].ToString(); bibleVerse.Book = reader["Book"].ToString(); bibleVerse.ChapterNumber = Convert.ToInt32(reader["ChapterNumber"].ToString()); bibleVerse.VerseNumber = Convert.ToInt32(reader["VerseNumber"].ToString()); bibleVerse.VerseText = reader["VerseText"].ToString(); } reader.Close(); conn.Close(); } catch (Exception e) { Debug.WriteLine(e.Message); } } return(bibleVerse); }
public BibleVerse Search(string testament, string book, int chapter, int verseNum) { string sqlStatement = "SELECT * FROM dbo.verse WHERE Book = @BOOK AND Chapter = @CHAPTER AND" + " Verse = @VERSE AND Testament = @TESTAMENT"; BibleVerse verse = new BibleVerse(); using (SqlConnection connection = new SqlConnection(this.dbString)) { SqlCommand command = new SqlCommand(sqlStatement, connection); command.Parameters.Add("@TESTAMENT", System.Data.SqlDbType.VarChar, 50); command.Parameters["@TESTAMENT"].Value = testament; command.Parameters.Add("@BOOK", System.Data.SqlDbType.VarChar, 50); command.Parameters["@BOOK"].Value = book; command.Parameters.Add("@CHAPTER", System.Data.SqlDbType.Int); command.Parameters["@CHAPTER"].Value = chapter; command.Parameters.Add("@VERSE", System.Data.SqlDbType.Int); command.Parameters["@VERSE"].Value = verseNum; try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { verse.Testament = (string)reader[1]; verse.Book = (string)reader[2]; verse.Chapter = (int)reader[3]; verse.Verse = (int)reader[4]; verse.Text = (string)reader[5]; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(verse); }
public static BibleVerse getVerse(DateTime date) { var bibleVerseTransformer = new BibleVerseTransformer(); var verse = new BibleVerse(); using (var dbconn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconn"].ConnectionString)) { if (dbconn.State == ConnectionState.Open) { dbconn.Close(); } dbconn.Open(); using (var cmd = new SqlCommand("spGetDailyBibleVerse", dbconn)) { try { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@dateofVerse", date.ToString("MM/dd/yyyy")); var _reader = cmd.ExecuteReader(); while (_reader.Read()) { verse = bibleVerseTransformer.Transform(_reader); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { dbconn.Close(); dbconn.Dispose(); } } return(verse); } }
//find verse will return the verse a user searched for in the search for verse form public BibleVerse findVerse(BibleVerse bibleVerse) { MyLogger.GetInstance().Info("Entering the SecurityDAO. findVerse() method"); BibleVerse returnedVerse = new BibleVerse(); String queryString = "SELECT * FROM dbo.Verses WHERE testamentSelection=@Testament AND bookSelection=@Book AND chapterNumber=@ChapterNum AND verseNumber=@VerseNum"; using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { using (SqlCommand sqlCommand = new SqlCommand(queryString, sqlConnection)) { sqlCommand.Parameters.Add("@Testament", SqlDbType.VarChar).Value = bibleVerse.TestamentSelection; sqlCommand.Parameters.Add("@Book", SqlDbType.VarChar).Value = bibleVerse.BookSelection; sqlCommand.Parameters.Add("@ChapterNum", SqlDbType.VarChar).Value = bibleVerse.ChapterNumber; sqlCommand.Parameters.Add("@VerseNum", SqlDbType.VarChar).Value = bibleVerse.VerseNumber; try { sqlConnection.Open(); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); MyLogger.GetInstance().Info("Connection to the Database was made"); while (sqlDataReader.Read()) { returnedVerse.TestamentSelection = sqlDataReader.GetString(1); returnedVerse.BookSelection = sqlDataReader.GetString(2); returnedVerse.ChapterNumber = sqlDataReader.GetString(3); returnedVerse.VerseNumber = sqlDataReader.GetString(4); returnedVerse.VerseText = sqlDataReader.GetString(5); Debug.WriteLine("Retrieved text:" + sqlDataReader.GetString(5)); } sqlConnection.Close(); } catch (Exception e) { MyLogger.GetInstance().Info("Fail occured in the findVerse() method within the SecurityDAO"); Debug.WriteLine(e.Message); } } } return(returnedVerse); }
public bool CreateVerse(BibleVerse verse) { bool success = false; string sqlStatement = "INSERT INTO dbo.verse (Testament, Book, Chapter, Verse, Text) VALUES (@TESTAMENT, @BOOK, @CHAPTER, @VERSE, @TEXT)"; using (SqlConnection connection = new SqlConnection(this.dbString)) { SqlCommand command = new SqlCommand(sqlStatement, connection); command.Parameters.Add("@TESTAMENT", System.Data.SqlDbType.VarChar, 50); command.Parameters["@TESTAMENT"].Value = verse.Testament; command.Parameters.Add("@BOOK", System.Data.SqlDbType.VarChar, 50); command.Parameters["@BOOK"].Value = verse.Book; command.Parameters.Add("@CHAPTER", System.Data.SqlDbType.Int); command.Parameters["@CHAPTER"].Value = verse.Chapter; command.Parameters.Add("@VERSE", System.Data.SqlDbType.Int); command.Parameters["@VERSE"].Value = verse.Verse; command.Parameters.Add("@TEXT", System.Data.SqlDbType.VarChar, 200); command.Parameters["@TEXT"].Value = verse.Text; try { connection.Open(); if (command.ExecuteNonQuery() != 0) { success = true; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(success); }
public bool AddBibleVerse(BibleVerse queryVerse) { bool success = false; string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=BibleVerses;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; string queryString = "INSERT INTO dbo.Verses (Testament, Book, ChapterNumber, VerseNumber, VerseText) VALUES (@Testament, @Book, @ChapterNumber, @VerseNumber, @VerseText);"; using (SqlConnection conn = new SqlConnection(connectionString)) { //create command and parameter objects SqlCommand command = new SqlCommand(queryString, conn); command.Parameters.AddWithValue("@Testament", queryVerse.Testament); command.Parameters.AddWithValue("@Book", queryVerse.Book); command.Parameters.AddWithValue("@ChapterNumber", queryVerse.ChapterNumber); command.Parameters.AddWithValue("@VerseNumber", queryVerse.VerseNumber); command.Parameters.AddWithValue("@VerseText", queryVerse.VerseText); // open the database and run the command try { conn.Open(); command.ExecuteNonQuery(); conn.Close(); success = true; } catch (Exception e) { success = false; Console.WriteLine(e.Message); } } return(success); }
public async Task <ApiResponse <string> > ReindexVanDyke() { var directoryName = @"..\App_Data\Bibles\VanDyke\";// @"C:\Suzette\TheArabicBible\The Arabic Bible\BibleCopies\VanDyke\"; var books = System.IO.Directory.GetFiles(directoryName); foreach (var book in books) { var bookText = string.Empty; using (var reader = new System.IO.StreamReader(book)) { bookText = reader.ReadToEnd(); } if (!string.IsNullOrEmpty(bookText)) { var bookId = Convert.ToInt16(book.Replace(directoryName, "").Substring(0, 2)); var groupId = GetGroupId(bookId); bookText = bookText.Replace("الأصحَاحُ", "@"); bookText = System.Text.RegularExpressions.Regex.Replace(bookText, "[0-9]", "$"); //replace verse number/digit with $ bookText = bookText.Replace("$$$", "$").Replace("$$", "$"); //if verse number has more than digit replace them all with one $ var chapters = bookText.Split('@'); var chapterCounter = 0; foreach (var chapter in chapters) { var verses = chapter.Split('$'); var verseCounter = 0; for (var i = 1; i < verses.Count(); i++) { var verse = verses[i]; var trimedVerse = verse.Replace("\n", "").Replace("\r", "").Trim(); var doc = new BibleVerse() { BibleId = 1 , TestmentId = (bookId <= 39 ? 1 : 2) , GroupId = groupId , BookId = bookId , ChapterId = chapterCounter , VerseNo = i , VerseText = trimedVerse , SearchText = ArabicHelper.MapArabicToEnglishLetters(trimedVerse) }; if (!string.IsNullOrEmpty(trimedVerse)) { chapterCounter = chapterCounter == 0 ? 1 : chapterCounter; verseCounter = verseCounter == 0 ? 1 : verseCounter; // return new ApiResponse<string>() { Data = JsonConvert.SerializeObject(doc) }; var response = await _bibleRepository.AddDocument(doc); } verseCounter++; } chapterCounter++; } } } return(new ApiResponse <string>());//todo set status to false }
public void AddVerse(string verseNumber, string verseText) { BibleVerse v = new BibleVerse() { Book = ThisApp.selectedBook, Chapter = ThisApp.selectedChapter, VerseNumber = verseNumber, Scripture = verseText }; // If the verse is not already selected, add it if (selectedVerses.IndexOf(v) < 0) { selectedVerses.Add(v); ThisApp.selectedVerses = selectedVerses; } // If record every highlight is checked on, add it and save to preferences if (ThisApp.preferences.GetBoolean("recordEveryHighlight", false)) { ThisApp.highlightedScriptures = selectedVerses; string json = JsonConvert.SerializeObject(ThisApp.highlightedScriptures); var prefs = PreferenceManager.GetDefaultSharedPreferences(context.ApplicationContext); prefs.Edit().PutString("HighlightList", json).Commit(); } Console.WriteLine("There are now " + selectedVerses.Count() + " verses selected."); }
public async Task <ApiResponse <List <BibleVerse> > > Query(int pageIndex, List <int> bibleIds, Bible bibleFilter, SearchCriteria searchCriteria) { var response = new ApiResponse <List <BibleVerse> >(); var currentPage = pageIndex; var recPerPage = 20; var startIndex = recPerPage * (currentPage - 1); var searchTerm = searchCriteria.SearchItems[0].SearchTerm; if (bibleFilter.Language.Equals("arabic", StringComparison.OrdinalIgnoreCase)) { searchTerm = ArabicHelper.MapArabicToEnglishLetters(searchCriteria.SearchItems[0].SearchTerm); } var filterItems = GetFilter(bibleIds, bibleFilter); var searchStart = $" ( "; var boolQueryStart = $" 'query' : ( 'bool' : ("; var queryMustClause = $" 'must' : [ ('wildcard' : ('SearchText' : '*{searchTerm}*' )) ]"; // must works like and var boolQueryEnd = $" )) "; var boolFilterStart = $" , 'filter' : ( 'bool' : ("; var filterShouldClause = $" 'should' : [] "; //should works like or var filterMustClause = $" , 'must' : [ {filterItems.Item1} ] "; //must works like and var filterMustNotClause = $" , 'must_not' : [ {filterItems.Item2} ]"; //must_not works like and not var boolFilterEnd = $" )) "; var sort = $" , 'sort' : ['BookId' , 'ChapterId' , 'VerseNo' ]"; var from = $" , 'from' : {startIndex} "; var size = $" , 'size' : {recPerPage} "; var searchEnd = $" ) "; var boolQuery = $" {boolQueryStart} {queryMustClause} {boolQueryEnd} "; var boolFilter = $" {boolFilterStart} {filterShouldClause} {filterMustClause} {filterMustNotClause} {boolFilterEnd} "; var query = $"{searchStart} {boolQuery} {boolFilter} {sort} {from} {size} {searchEnd} "; query = query.Replace("(", "{").Replace(")", "}").Replace("'", "\""); var endpoint = new EndPoint(); endpoint.ApiMethod = _readIndex + "_search"; endpoint.HttpMethod = "POST"; var esResponse = await _requestManager.ExecuteRequest <ElasticSearchResponse <ElasticSearchBibleDocument>, string>(endpoint, query); if (esResponse.Status.Ok) { response.Pagination = new ApiPagination { RecPerPage = recPerPage, CurrentPage = currentPage, TotalRecCount = esResponse.Data.hits.total, TotalPageCount = Convert.ToInt16(Math.Ceiling(Convert.ToDecimal(esResponse.Data.hits.total) / recPerPage)) }; response.Data = new List <BibleVerse>(); foreach (var hit in esResponse.Data.hits.hits) { var verse = new BibleVerse() { BibleId = Convert.ToInt16(hit._source.BibleId) , BookId = Convert.ToInt16(hit._source.BookId) , ChapterId = Convert.ToInt16(hit._source.ChapterId) , VerseNo = Convert.ToInt16(hit._source.VerseNo) , VerseText = hit._source.VerseText }; response.Data.Add(verse); } } else { response.Status = esResponse.Status; } return(response); }
private static List <BibleVerse> GetAllTexts() { List <BibleVerse> texts = new List <BibleVerse>(); using (MyContext db = new MyContext()) using (StreamReader sr = new StreamReader("d:\\texts.txt", Encoding.Default)) { string line; while ((line = sr.ReadLine()) != null) { if (line == "break") { break; } try { string cleanText = null; BiblePlace place = GetBiblePlace(line); var placeInDb = (from t in db.BiblePlaces where t.BookBG == place.BookBG && t.Chapter == place.Chapter && t.End == place.End && t.FullLocation == place.FullLocation && t.Start == place.Start select t).SingleOrDefault(); if (placeInDb != null) { cleanText = placeInDb.BibleVerses.Single().Text; } else { string rawText = RetrieveRawText(place); cleanText = ExtractCleanText(rawText); // Add a record db.BiblePlaces.Add(place); db.SaveChanges(); BibleVerse verse = new BibleVerse() { BiblePlace = place, Text = cleanText }; db.BibleVerses.Add(verse); db.SaveChanges(); Thread.Sleep(500); } texts.Add(new BibleVerse() { BiblePlace = place, Text = cleanText }); string output = string.Format("Place {0} is OK", line); Console.WriteLine(output); fileOutput.WriteLine(output); } catch (Exception ex) { string output = "Problem with row: " + line + "\n " + ex.Message; Console.WriteLine(output); fileOutput.WriteLine(output); } } } return(texts); }