예제 #1
0
        private async void LoadLists()
        {
            List <Pothi> pothis = await _con.QueryAsync <Pothi>(Queries.GetAllPothisWithSortOrder());

            PothiOrb             = new ObservableCollection <Pothi>(pothis);
            ddlPothi.ItemsSource = PothiOrb;

            if (pothis.Count == 1)
            {
                ddlPothi.SelectedIndex = 0;
            }
            if (pothis.Count == 0)
            {
                swtExpandSwitch2.IsToggled = true;
                lblSelect.Text             = NoPothiText;
                Save.IsVisible             = false;
            }
            else
            {
                swtExpandSwitch.IsToggled = true;
                lblSelect.Text            = SelectText;
                Save.IsVisible            = true;
            }

            List <Verse> verses = await _con.QueryAsync <Verse>(Queries.ShabadById(ShabadId));

            if (verses.Count > 0)
            {
                pckLine.ItemsSource = verses;
                Verse selectedVerse = verses.FirstOrDefault(a => a.ID == VerseId);
                pckLine.SelectedItem = selectedVerse;
                pckLine.IsVisible    = true;
            }
        }
예제 #2
0
        private async Task <ObservableCollection <Verse> > GetAllVerses(Belief belief)
        {
            ObservableCollection <Verse> returnList = new ObservableCollection <Verse>();

            try
            {
                string verseList = await Verse.ListVersesAsync(belief.topicID, belief.ID).ConfigureAwait(false);

                JArray data = JArray.Parse(verseList);

                foreach (JToken entry in data)
                {
                    returnList.Add(new Verse(m_client)
                    {
                        userID   = int.Parse(entry["user_id"].ToString()),
                        topicID  = belief.topicID,
                        beliefID = int.Parse(entry["belief_id"].ToString()),
                        ID       = int.Parse(entry["id"].ToString()),

                        verse      = entry["verse"].ToString(),
                        book       = int.Parse(entry["book"].ToString()),
                        chapter    = int.Parse(entry["chapter"].ToString()),
                        verseStart = int.Parse(entry["verseStart"].ToString()),
                        verseEnd   = int.Parse(entry["verseEnd"].ToString())
                    });
                }
            }
            catch (Exception e)
            {
                m_errorMessages.Add(e.Message);
            }

            return(returnList);
        }
예제 #3
0
        public JsonResult Update()
        {
            var xx = db.Categories.ToList();

            List <Verse> verses = new List <Verse>();

            foreach (Verse v in db.Verses)
            {
                Verse vv = new Verse();
                vv.ID         = v.ID;
                vv.CategoryID = v.CategoryID;
                vv.Body       = v.Body;
                vv.Verse1     = v.Verse1;
                verses.Add(vv);
            }
            List <Category> categories = new List <Category>();

            foreach (Category cat in db.Categories)
            {
                Category cc = new Category();
                cc.ID   = cat.ID;
                cc.Name = cat.Name;
                categories.Add(cc);
            }
            Bible_Verse bb = new Bible_Verse();

            bb.Categories = categories;
            bb.Verses     = verses;
            return(Json(bb, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
파일: Chapter.cs 프로젝트: rowan84/BibleApp
 public void addVerse(ref Verse verse)
 {
     if (verse.is_last_verse_of_chapter)
         last_verse = verse;
     verses.Add(verse.verse_id, verse);
     num_verses++;
 }
예제 #5
0
        private string HtmlFileVishraam(Verse verse)
        {
            bool vishraam = Util.PrefShowVishraam;

            if (vishraam)
            {
                if (verse.Visraam != null && vishraam)
                {
                    JObject vishram        = JObject.Parse(verse.Visraam);
                    string  vishraamSource = GetVishraamSource(vishram);
                    if (!string.IsNullOrWhiteSpace(vishraamSource))
                    {
                        string[] line     = verse.GurmukhiUni.Split(' ');
                        int      children = vishram[vishraamSource].Children().Count();
                        for (int i = 0; i < children; i++)
                        {
                            string vishraamWord = (string)vishram[vishraamSource][i]["p"];
                            string vishraamType = (string)vishram[vishraamSource][i]["t"];
                            int    wordIndex    = 0;
                            if (int.TryParse(vishraamWord, out wordIndex))
                            {
                                string vishraamColor = vishraamType == "v" ? Util.MainVishraamColor : Util.SecondVishraamColor;
                                line[wordIndex]   = $"<font color=\"{vishraamColor}\">{line[wordIndex]}</font>";
                                verse.GurmukhiUni = string.Join(" ", line);
                            }
                        }
                    }
                }
            }
            return(verse.GurmukhiUni);
        }
        public Verse getText(Verse v)
        {
            Verse  returnedVerse    = new Verse();
            string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=benchmark;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            string queryString      = "SELECT * FROM dbo.Bible WHERE TESTAMENT = '" + v.Testament + "' AND BOOK = '" + v.Book + "' AND CHAPTER = " + v.Chapter + " AND VERSE = " + v.VerseNumber;

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                using (SqlCommand sqlCommand = new SqlCommand(queryString, sqlConnection))
                {
                    try
                    {
                        sqlConnection.Open();
                        SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                        while (sqlDataReader.Read())
                        {
                            returnedVerse.Testament   = sqlDataReader.GetString(1);
                            returnedVerse.Book        = sqlDataReader.GetString(2);
                            returnedVerse.Chapter     = sqlDataReader.GetInt32(3);
                            returnedVerse.VerseNumber = sqlDataReader.GetInt32(4);
                            returnedVerse.VerseText   = sqlDataReader.GetString(5);
                        }
                        sqlDataReader.Close();
                        sqlConnection.Close();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Failue!");
                        Debug.WriteLine(e.Message);
                    }
                }
            }
            return(returnedVerse);
        }
        public bool insertVerse(Verse v)
        {
            bool   success          = false;
            string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=benchmark;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            string queryString      = "INSERT INTO dbo.bible (TESTAMENT, BOOK, CHAPTER, VERSE, TEXT) VALUES (@testament, @book, @chapter, @verse, @text)";

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                using (SqlCommand sqlCommand = new SqlCommand(queryString, sqlConnection))
                {
                    sqlCommand.Parameters.Add("@testament", SqlDbType.VarChar).Value = v.Testament;
                    sqlCommand.Parameters.Add("@book", SqlDbType.VarChar).Value      = v.Book;
                    sqlCommand.Parameters.Add("@chapter", SqlDbType.Int).Value       = v.Chapter;
                    sqlCommand.Parameters.Add("@verse", SqlDbType.Int).Value         = v.VerseNumber;
                    sqlCommand.Parameters.Add("@text", SqlDbType.VarChar).Value      = v.VerseText;

                    try
                    {
                        sqlConnection.Open();
                        sqlCommand.ExecuteNonQuery();
                        sqlConnection.Close();
                        success = true;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Failue!");
                        Debug.WriteLine(e.Message);
                    }
                }
            }
            return(success);
        }
예제 #8
0
        private bool fillCharacteristicNamesAndValuesIDs(SqlConnection con, Verse expandableText)
        {
            String sqlSelect;

            foreach (KeyValuePair <Position, PositionValue> entry in expandableText.getCharacteristics())
            {
                sqlSelect = String.Format("SELECT CharacteristicsNames.Id AS CharacteristicId, " +
                                          "CharacteristicsValues.Id AS CharacteristicValueId " +
                                          "FROM CharacteristicsValues JOIN CharacteristicsNames " +
                                          "ON CharacteristicsValues.CharacteristicsNameId = CharacteristicsNames.Id " +
                                          "WHERE CharacteristicsNames.Name = {0} AND CharacteristicsValues.Value = {1}", entry.Key.getName(), entry.Value.getValue());
                SqlCommand    command = new SqlCommand(sqlSelect, con);
                SqlDataReader reader  = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        entry.Key.setId(reader.GetInt32(0));
                        entry.Value.setId(reader.GetInt32(1));
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
        public static void Load(TextIndexer indexer, Verse item, string version)
        {
            List <string> lines = new List <string>();
            //var mime = item.Mime;

            //switch (mime)
            //{
            //    case "text":
            //        if (TrySplit(item.Body, out lines))
            //        {
            //            indexer.Index(item.Id.ToString(), lines);
            //        }
            //        break;
            //    case "txt":

            //        if (TryReadSplit(Path.Combine(directory, item.Body), out lines))
            //        {
            //            indexer.Index(item.Id.ToString(), lines);
            //        }
            //        break;
            //    case "text/credential":
            //    case "resource/url":
            //        break;
            //    default:
            //        break;
            //}
        }
예제 #10
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Text,Reference,StartDate")] Verse verse)
        {
            if (id != verse.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(verse);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VerseExists(verse.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(verse));
        }
예제 #11
0
        private void Behavior_CommandClicked(object listItem)
        {
            Verse         verse         = listItem as Verse;
            SimilarShabad similarShabad = new SimilarShabad(verse.Gurmukhi);

            Navigation.PushAsync(similarShabad);
        }
예제 #12
0
        public static Bible Run()
        {
            Bible bible = new Bible("English");

            XDocument doc          = XDocument.Load("ESV.xml");
            var       bookElements = doc.Root.Elements("b");

            for (int i = 1; i < bookElements.Count() + 1; i++)
            {
                var    bookElement = bookElements.ElementAt(i - 1);
                string bookName    = bookElement.Attribute("n").Value;
                Book   book        = new Book(i, bookName);
                bible.Books.Add(book);

                foreach (var chapterElement in bookElement.Elements("c"))
                {
                    int     chapterId = Int32.Parse(chapterElement.Attribute("n").Value);
                    Chapter chapter   = new Chapter(chapterId);
                    book.Chapters.Add(chapter);

                    foreach (var verseElement in chapterElement.Elements("v"))
                    {
                        int    verseId = Int32.Parse(verseElement.Attribute("n").Value);
                        string text    = verseElement.Value;
                        Verse  verse   = new Verse(verseId, text);
                        chapter.Verses.Add(verse);
                    }
                }
            }

            return(bible);
        }
예제 #13
0
        public StatusCodeResult SaveVerseToFavorites([FromBody] Verse verse)
        {
            // We store verses in the verses table and build up a cache over time in the db
            // Check if a copy of the verse already exists
            Verse foundVerse = _context.Verses.Find(verse.Id);


            // Do nothing, Verse is already stored and a favorite exists
            if (foundVerse != null)
            {
                return(StatusCode(204));
            }


            // Create the Verse and store a record in Favorites
            if (foundVerse == null)
            {
                // Mark as favorited
                verse.HasBeenFavorited = true;
                _context.Verses.Add(verse);


                // Create a new favorite using the verse
                Favorite fav = new Favorite {
                    VerseId = verse.Id
                };

                _context.Favorites.Add(fav);
            }

            _context.SaveChangesAsync();

            return(StatusCode(200));
        }
예제 #14
0
        public async Task <Verse> AddItemAsync(Verse item, string language)
        {
            item.PartitionKey = GetPartitionKey(language).ToString();
            var result = await this._container.CreateItemAsync <Verse>(item, new PartitionKey(item.PartitionKey));

            return(result.Resource);
        }
예제 #15
0
        public static void AddVerseTranslation(Verse v)
        {
            var translation = GetCurrentTranslation();

            switch (translation)
            {
            case "esv":
                v.Translation = BibleTranslation.ESV;
                break;

            case "kjv":
                v.Translation = BibleTranslation.KJV;
                break;

            case "msg":
                v.Translation = BibleTranslation.MSG;
                break;

            case "nasb":
                v.Translation = BibleTranslation.NASB;
                break;

            default:
                v.Translation = BibleTranslation.ESV;
                break;
            }
        }
예제 #16
0
파일: BackView.cs 프로젝트: witheej/Verses
        public BackView(Verse verse)
        {
            Data = verse;

            var memorizedImage    = Images.HeartRedButton;
            var notMemorizedImage = Images.HeartGreyButton;

            TextArea = new UITextView {
                AutoresizingMask = UIViewAutoresizing.FlexibleWidth,
                BackgroundColor  = UIColor.Clear,
                Font             = UIFont.FromName("SourceSansPro-Regular", 20f),
                Frame            = new RectangleF(0, 20, 475, 300),
                Text             = Data.Content,
                TextAlignment    = UITextAlignment.Center,
                TextColor        = UIColor.DarkGray,
            };

            ImageView = new UIImageView {
                Frame = new RectangleF(430, 260, 30f, 30f)
            };

            if (UIScreen.MainScreen.Bounds.Height >= 568f)
            {
                TextArea.Frame  = new RectangleF(0, 20, 568, 300);
                ImageView.Frame = new RectangleF(523, 260, 30f, 30f);
            }

            ImageView.Image = Data.Memorized ? UIImage.FromFile(memorizedImage) : UIImage.FromFile(notMemorizedImage);

            Add(TextArea);
            Add(ImageView);
        }
예제 #17
0
        private async void LoadMoreShabads()
        {
            string[] shabadList = _nitnemBani.ShabadList.Split(',');
            Verse    breaker    = new Verse();

            breaker.Gurmukhi     = "***************";
            breaker.GurmukhiHtml = "<div style='text-align:center; '>***************</div>";
            for (int i = 1; i < shabadList.Count(); i++)
            {
                int shabadId = 0;
                if (int.TryParse(shabadList[i], out shabadId))
                {
                    List <Verse> verses = await _con.QueryAsync <Verse>(Queries.ShabadById(shabadId));

                    if (Util.PrefShowVishraam)
                    {
                        verses = AddVishram(verses);
                    }
                    if (!_nitnemBani.IsSingleBani)
                    {
                        verses.Insert(0, breaker);
                    }
                    foreach (Verse verse in verses)
                    {
                        versesObs.Add(verse);
                    }
                }
            }
        }
예제 #18
0
        public void Write(Verse verse)
        {
            if (verse == null)
            {
                throw new ArgumentNullException(nameof(verse));
            }

            var document = new Document();

            document.Boost = DocumentWeights.Weights["Quran"];
            IEnumerable <string> searchableText = verse.VerseTexts
                                                  .Where(x => string.Compare(x.TranslatorCode, "Transliteration", true) != 0)
                                                  .Select(x => x.Text);

            document
            .StoreAndIndex(verse, x => x.Id)
            .StoreAndIndex(verse, x => x.ChapterNumber)
            .StoreAndIndex(verse, x => x.VerseNumber)
            .AddSearchableText(searchableText)
            .AddObject(verse);

            IndexWriter indexWriter = IndexWriterProvider.GetIndexWriter();

            indexWriter.AddDocument(document);
        }
예제 #19
0
    internal bool isStepMelody()
    {
        if (over)
        {
            return(false);
        }

        Verse verse = verses[iVerse];

        bool stepBool = verse.steps[iStep];

        if (++iStep >= verse.steps.Length)
        {
            iStep = 0;
            if (++iRepetitions >= verse.Repetitions)
            {
                iRepetitions = 0;
                if (++iVerse >= verses.Length)
                {
                    over = true;
                }
            }
        }

        return(stepBool);
    }
예제 #20
0
        private void FindSimilarShabads()
        {
            Verse         verse         = lstShabad.SelectedItem as Verse;
            SimilarShabad similarShabad = new SimilarShabad(verse.Gurmukhi);

            Navigation.PushAsync(similarShabad);
        }
예제 #21
0
        //
        // GET: /Verse/Edit/5

        public ActionResult Edit(Guid id)
        {
            Verse verse = VerseManager.Get(id);

            ViewBag.ChapterId = new SelectList(ChapterManager.GetAll(), "Id", "Title", verse.ChapterId);
            return(View(verse));
        }
예제 #22
0
        public SettingsPopup(Verse verse)
        {
            BindingContext = new Theme();
            Initializing   = true;
            InitializeComponent();
            swtGurmukhi.IsToggled        = verse.GurmukhiVisible;
            swtTranslation.IsToggled     = Util.PrefEnglishVisible;
            swtPTranslation.IsToggled    = Util.PrefPunjabiVisible;
            swtTransliteration.IsToggled = Util.PrefTransliterationVisible;
            gurmukhiFontSize             = verse.GurmukhiFontSize;
            englishTranslationFontSize   = verse.EnglishFontSize;
            punjabiTranslationFontSize   = verse.PunjabiFontSize;
            TranslitrationFontSize       = verse.TransliterationFontSize;
            chbNormal.IsChecked          = Util.PrefGurmukhiFontName == Util.PunjabiFontKey;
            chbHand.IsChecked            = Util.PrefGurmukhiFontName == Util.HandFontKey;
            swtVishraam.IsToggled        = Util.PrefShowVishraam;
            swtLadivaar.IsToggled        = Util.PrefShowLadivaar;
            //PopulateThemes();
            switch (Util.PrefDarkTheme)
            {
            case Util.ThemeNameBlue:
                rbBlue.IsChecked = true;
                break;

            case Util.ThemeNameBlack:
                rbGray.IsChecked = true;
                break;

            case Util.ThemeNameFblack:
                rbBlack.IsChecked = true;
                break;
            }

            Initializing = false;
        }
예제 #23
0
        public VerseGridForm(Verse verse)
        {
            InitializeComponent();
            this.Text = "Interlinear Bible Editor";

            Uow = new UnitOfWork();

            Translation = verse.ParentTranslation;
            NAME        = Translation.Name;
            // $"{NAME.Replace("'", "").Replace("+", "")}.";

            LoadBooks();

            //var view = new XPView(Uow, typeof(BookBase)) {
            //    CriteriaString = $"[Status.BookType] = {(int)Translation.BookType}"
            //};
            //view.Properties.Add(new ViewProperty("NumberOfBook", SortDirection.None, "[NumberOfBook]", false, true));
            //view.Properties.Add(new ViewProperty("BookTitle", SortDirection.None, "[BookTitle]", false, true));

            //var list = new List<BookBaseInfo>();
            //foreach (ViewRecord item in view) {
            //    list.Add(new BookBaseInfo() {
            //        NumberOfBook = item["NumberOfBook"].ToInt(),
            //        BookTitle = item["BookTitle"].ToString()
            //    });
            //}
            //editBook.DataSource = list;

            var index = verse.GetVerseIndex();

            btnOblubienicaEu.Visibility   = index.NumberOfBook >= 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never;
            btnLogosSeptuagint.Visibility = index.NumberOfBook < 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never;


            VerseControl = new VerseGridControl()
            {
                Dock = DockStyle.Fill
            };
            pnlContent.Controls.Add(VerseControl);

            //this.Load += new EventHandler(delegate (object sender, EventArgs e) {
            //    Application.DoEvents();
            //    var bookInfo = list.Where(x => x.NumberOfBook == index.NumberOfBook).FirstOrDefault();
            //    txtBook.EditValue = bookInfo;
            //    editBook_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, bookInfo));
            //    Application.DoEvents();
            //    txtChapter.EditValue = index.NumberOfChapter;
            //    editChapter_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfChapter));
            //    Application.DoEvents();
            //    txtVerse.EditValue = index.NumberOfVerse;
            //    editVerse_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfVerse));
            //    Application.DoEvents();
            //});

            TransliterationController = new GreekTransliterationController();

            txtIndex.EditValue = verse.Index;
            txtIndex_KeyUp(txtIndex, new KeyEventArgs(Keys.Enter));
        }
예제 #24
0
        private async Task InitializeClientAndUser()
        {
            try
            {
                // Initialize HTTP Client
                m_client             = new HttpClient();
                m_client.BaseAddress = new Uri("http://*****:*****@test.com";

                    var tokenResponse = await User.LoginUserAsync(m_user).ConfigureAwait(false);

                    m_user.token = tokenResponse.ToString();
                }

                //Set the token in the HTTP header to allow the user to access other parts of the API
                m_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", m_user.token);
                Topic  topic  = new Topic(m_client);
                Belief belief = new Belief(m_client);
                Verse  verse  = new Verse(m_client);
            }

            catch (Exception e)
            {
                m_errorMessages.Add(e.Message);
            }
        }
 private ApiVerseResult MapToApi(Verse verse)
 {
     return(new ApiVerseResult
     {
         Id = Guid.Parse(verse.Id),
         Text = verse.Text,
     });
 }
예제 #26
0
    /////////
    ////// CONSTRUCTORS
    /////////

    /// <summary>
    /// Constructs a random ship.
    /// </summary>
    /// <param name="verse">The verse on which the ship will live.</param>
    /// <param name="score">The ship's power (more or less).</param>
    /// <returns>A brand new random ship.</returns>
    public static Ship Random(Verse verse, int score)
    {
        Ship ship = new Ship(verse);

        ship.Name = verse.registry.namesRegistry.GetRandom("ships");

        return(ship);
    }
예제 #27
0
        public ActionResult insertVerse(Verse v)
        {
            logger.Info("Entering the Home Controller. insertVerse Method.");
            _iservice.insertVerse(v);
            logger.Info("Exit Home Controller. Insert Success!");

            return(View("index"));
        }
예제 #28
0
        public ActionResult DeleteConfirmed(int id)
        {
            Verse verse = db.Verses.Find(id);

            db.Verses.Remove(verse);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #29
0
 private void BookmarkSelected(int verseId)
 {
     if (verseId > 0)
     {
         Verse SelectedVerse = versesObs.FirstOrDefault(a => a.ID == verseId);
         lstShabad.ScrollTo(SelectedVerse, ScrollToPosition.MakeVisible, false);
     }
 }
예제 #30
0
        public ActionResult onSearch(Verse v)
        {
            logger.Info("Entering the Home Controller. onSearch Method.");
            Verse returnedverse = _iservice.getText(v);

            logger.Info("Exit Home Controller. Search Success!");
            return(PartialView("_theSearchedVerse", returnedverse));
        }
예제 #31
0
    private void RpcSpawnEffectJumpend(Vector3 position, Verse verse)
    {
        GameObject go = Instantiate(effectJumpend, position, Quaternion.identity);

        if (verse == Verse.Left)
        {
            go.transform.localScale = new Vector3(-go.transform.localScale.x, go.transform.localScale.y, go.transform.localScale.z);
        }
    }
예제 #32
0
        public VerseSection(Verse start_verse, Verse end_verse)
        {
            if (start_verse == null)
            {
                throw new XInvalidVerseSection(ERROR_MESSAGE_INVALID_START_VERSE);
            }
            int start_verse_id = start_verse.verse_id;
            int start_chapter_id = start_verse.chapter.chapter_id;

            if (end_verse != null)
            {
                int end_verse_id = end_verse.verse_id;
                int end_chapter_id = end_verse.chapter.chapter_id;
                if (start_verse.book.name != end_verse.book.name)
                    throw new XInvalidVerseSection(ERROR_MESSAGE_DIFFERENT_BOOKS);
                if (start_chapter_id == end_chapter_id)
                {
                    span_multiple_chapters = false;
                    if (end_verse_id - start_verse_id > MAX_SECTION_VERSES)
                        throw new XInvalidVerseSection(ERROR_MESSAGE_MAX_VERSES);
                    else if (end_verse_id - start_verse_id < 0)
                        throw new XInvalidVerseSection(ERROR_MESSAGE_END_BEFORE_START);
                }
                else //if start chapter is not equal to end chapter.
                {
                    span_multiple_chapters = true;
                    if (end_chapter_id - start_chapter_id < 0)
                        throw new XInvalidVerseSection(ERROR_MESSAGE_END_BEFORE_START);

                    //now count how many verse chosen in total.
                    int verse_count = start_verse.chapter.getNumVersesInChapter() - start_verse_id;
                    Chapter next_chapter = start_verse.chapter.next_chapter;
                    int safety_count = 30;
                    do
                    {
                        if (next_chapter == end_verse.chapter)
                        {
                            verse_count += end_verse_id;
                        }
                        else
                        {
                            verse_count += next_chapter.getNumVersesInChapter();
                        }
                        safety_count--;
                        if (safety_count == 0)
                            throw new XInvalidVerseSection("Something went wrong in checking verse selection. Please check that your request is in the correct format and that you have not requested more than 30 verses. Read the help for more information.");
                    } while (next_chapter != end_verse.chapter);
                    if (verse_count > MAX_SECTION_VERSES)
                    {
                        throw new XInvalidVerseSection(ERROR_MESSAGE_MAX_VERSES);
                    }
                }
            }
            this.start_verse = start_verse;
            this.end_verse = end_verse;
        }
예제 #33
0
 public override void Initialize(Verse.CompProperties props)
 {
     base.Initialize(props);
     Building_TurretGun turret = parent as Building_TurretGun;
     if (turret != null && turret.gun == null)
     {
         gun = (Thing)ThingMaker.MakeThing(parent.def.building.turretGunDef);
         turret.gun = gun;
         turret.GunCompEq.verbTracker.InitVerbs();
     }
 }
예제 #34
0
 public VerseHistoryTask(
     UserSession us,
     UserProfile user_profile,
     Verse start,
     Verse end,
     DateTime datetime,
     VerseHistoryRecord vhr)
 {
     this.us = us;
     this.user_profile = user_profile;
     this.start = start;
     this.end = end;
     this.datetime = datetime;
     this.vhr = vhr;
 }
예제 #35
0
 public VerseBookMarkTask(
     UserSession us,
     UserProfile user_profile,
     Verse start,
     Verse end,
     DateTime datetime,
     BookmarkVerseRecord bvr)
 {
     this.us = us;
     this.user_profile = user_profile;
     this.start = start;
     this.end = end;
     this.datetime = datetime;
     this.bvr = bvr;
 }
예제 #36
0
        /*this stores the bookmark  and is responsible for maintaining synchronisation between memory
         * and DB views by also calling the save/update to db method.
         */
        public int saveOrUpdateBookmark(
            UserSession user_session,
            UserProfile user_profile,
            Verse start_verse,
            Verse end_verse)
        {
            DateTime dt = DateTime.Now;
            //update DB

            String verse_start_str = start_verse.getVerseReference();
            String verse_end_str;

            if (end_verse == null)
                verse_end_str = "NULL";
            else
                verse_end_str = end_verse.getVerseReference();

            //now update in Memory View.
            long b_id = -1;
            bool isNew = false;
            if (bookmark_verse != null)
            {
                b_id = bookmark_verse.id;
            }
            else
            {
                isNew = true;
            }
            bookmark_verse = new BookmarkVerseRecord(
                    b_id,
                    user_profile.id,
                    user_session.session_id,
                    dt,
                    verse_start_str,
                    verse_end_str);

            saveOrUpdateVerseRequestToDB(
                user_session,
                user_profile,
                start_verse,
                end_verse,
                dt,
                bookmark_verse,
                isNew);

            return 0;
        }
예제 #37
0
        /*this stores the last request and is responsible for maintaining synchronisation between memory
         * and DB views.
         */
        public void saveVerseRequest(
            UserSession user_session,
            UserProfile user_profile,
            Verse start_verse,
            Verse end_verse)
        {
            DateTime dt = DateTime.Now;
            //update DB

            String verse_start_str = start_verse.getVerseReference();
            String verse_end_str;

            if (end_verse == null)
                verse_end_str = "NULL";
            else
                verse_end_str = end_verse.getVerseReference();

            //now update in Memory View.
            VerseHistoryRecord vhr = new VerseHistoryRecord(
                -1,
                user_profile.id,
                user_session.session_id,
                dt,
                verse_start_str,
                verse_end_str);

            saveVerseRequestToDB(
                user_session,
                user_profile,
                start_verse,
                end_verse,
                dt,
                vhr);

            if (history_list.Count() < HISTORY_MAX_SIZE)
            {
                history_list.AddFirst(vhr);
            }
            else //this should correspond to the list HISTORY_MAX_SIZE size because it should never grow more than this
            {
                history_list.RemoveLast();
                history_list.AddFirst(vhr);
            }
        }
예제 #38
0
        public static String removePTandTagsFromVerse(Verse verse)
        {
            String message = verse.text;
            int b_index = message.IndexOf('<');
            String tag_contents = "";
            int start_title_index = -1;
            int end_title_index = -1;
            String paragraph_title = null;

            if (b_index == -1)
            {
                return message;
            }
            while (b_index != -1)
            {
                int e_index = message.IndexOf('>');
                if (e_index == -1)
                {
                    Console.WriteLine("NO CLOSING TAG FOUND FOR A VERSE: " + message);
                    return message;
                }
                tag_contents = message.Substring(b_index + 1, e_index - b_index - 1);
                if (tag_contents.Contains(PARAGRAPH_TITLE_TAG))
                {
                    end_title_index = message.IndexOf("<lb>", e_index);
                    start_title_index = message.IndexOf("<head>") + 6; // move past head tag also
                    message = message.Remove(b_index, end_title_index - b_index + 4);
                }
                else
                {
                    message = message.Remove(b_index, e_index - b_index + 1);
                }
                b_index = message.IndexOf('<');
            }
            return message;
        }
예제 #39
0
 public static Verse CreateVerse(global::System.Guid ID, global::System.Guid composition_Id, short index, string text, int sequence, Audit audit)
 {
     Verse verse = new Verse();
     verse.Id = ID;
     verse.Composition_Id = composition_Id;
     verse.Index = index;
     verse.Text = text;
     verse.Sequence = sequence;
     if ((audit == null))
     {
         throw new global::System.ArgumentNullException("audit");
     }
     verse.Audit = audit;
     return verse;
 }
예제 #40
0
 public void AddToVerses(Verse verse)
 {
     base.AddObject("Verses", verse);
 }
예제 #41
0
        public void OnApplyVerse(Tuple<object, int, int, Guid, int, int> payload)
        {
            //Repository.DataService.Verse collection is a member of Repository.DataService.Composition, but we don't
            //bind to this collection because the binding scope needs to be Repository.DataService.Measure. ie: the
            //storage scope of verses is composition level, but the binding Scope is the _measure. I don't want to
            //spin up temporary subcollections of Repository.DataService.Verse objects. Instead, spin up a different
            //collection of Verses to bind too. This design choice also helps facilitate the projection of verse text
            //into words (we don't persist words as a seperate entity, but each word still has a view, viewmodel, etc)

            Guid id = payload.Item4;

            if (id == Measure.Id)  //is this the measureViewModel for the tareget _measure?
            {
                var words = (ObservableCollection<Word>)payload.Item1;
                int index = payload.Item3;
                var v = new Verse(index, id.ToString()) { Words = words, VerseText = string.Empty, Disposition = payload.Item5 };

                if (SubVerses == null)
                    SubVerses = new ObservableCollection<Verse>();

                SubVerses.Add(v);

                var sv = new List<Verse>();
                sv.AddRange(SubVerses.OrderBy(i => i.Index));
                SubVerses = new ObservableCollection<Verse>(sv);

                //verseCount required for trestleHeight calculation;
                EditorState.VerseCount = CompositionManager.Composition.Verses.Count;
                //force bind to new trestleHeight value by setting EmptyBind to anything.
                EmptyBind = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            }
        }
예제 #42
0
 public static String getSummaryOfVerse(Verse verse, int n)
 {
     //get Bible to check which translation it is.
     if (verse.chapter.testament.translation.name.Equals(NET_ABBR_CODE))
     {
         String text = NetBible.getVerseTextOnly(verse);
         String summary = GetFirstNWords(text, n);
         return summary;
     }
     else
     {
         return GetFirstNWords(verse.text, n);
     }
 }
예제 #43
0
        /*protected String parseSCTags(
            String text)
        {
            int b_index = text.IndexOf("scstart-");
            String sc_text;
            string message_text = "";
            if (b_index != -1)
            {
                int e_index = text.IndexOf("-scend");
                string variable_name = text.Substring(b_index + 1, e_index - b_index - 1);
                sc_text = text.Substring(start_title_index, end_title_index - start_title_index );
                message_text = parseMessage(us, message.Replace('[' + variable_name + ']', us.getVariable(variable_name)));

            }
        }*/
        /*replace info tags and div tags*/
        protected void parseText(
            MessageToSend ms,
            Verse verse,
            Boolean is_first_verse,
            Boolean is_last_verse,
            UserColourTheme uct)
        {
            Color color = Color.Empty;
            if (uct != null)
                color = uct.getBibleTextColour();
            String tag_contents = "";
            int start_title_index = -1;
            int end_title_index = -1;
            String paragraph_title = "";
            Boolean start_of_verse = true;

            String  message = parseSCTags(verse.text);
            message = parseXMLCodes(message);
            if (is_first_verse)
            {
                Verse prev_verse = verse.getPreviousVerse();
                if (prev_verse != null)
                {
                    String initial_title = getParagaphTitleFromVerse(prev_verse);
                    //test if title is at beginning of verse....
                    if (initial_title != null)
                    {
                        //first test if title is at the beginning of string and
                        String prev_verse_test = removeTags(prev_verse.text).Trim();
                        if (prev_verse_test.IndexOf(initial_title) != 0)
                        {
                            ms.Append("\r\n");
                            if(uct!=null)
                                ms.Append(removeTags(initial_title), color,new TextMarkup[] { TextMarkup.Bold });
                            else
                                ms.Append(removeTags(initial_title), new TextMarkup[] { TextMarkup.Bold });
                            ms.Append("\r\n");
                        }
                    }
                }
            }
            int b_index = message.IndexOf('<');
            if (b_index == -1)
            {
                if(uct!=null)
                    ms.Append(message,color);
                else
                    ms.Append(message);
                return;
            }
            while (b_index != -1)
            {
                int e_index = message.IndexOf('>');
                if (e_index == -1)
                {
                    Console.WriteLine("NO CLOSING TAG FOUND FOR A VERSE: " + message);
                    return;
                }
                tag_contents = message.Substring(b_index + 1, e_index - b_index - 1);
                if (tag_contents.Contains(PARAGRAPH_TITLE_TAG))
                {
                    end_title_index = message.IndexOf("<lb>", e_index);
                    start_title_index = message.IndexOf("<head>") + 6; // move past head tag also
                    paragraph_title = message.Substring(start_title_index, end_title_index - start_title_index /*- 1*/);
                    if ((is_first_verse || !is_last_verse) && paragraph_title != null && !paragraph_title.Trim().Equals("")
                        && !(is_first_verse && is_last_verse && !start_of_verse))
                    {
                            ms.Append("\r\n");
                            if(uct!=null)
                                ms.Append(paragraph_title.Trim(),color, new TextMarkup[] { TextMarkup.Bold });
                            else
                                ms.Append(paragraph_title.Trim(), new TextMarkup[] { TextMarkup.Bold });
                            ms.Append("\r\n");
                            ms.Append("\r\n");
                    }
                    message = message.Remove(b_index, end_title_index - b_index + 4);
                }
                else if (tag_contents.Contains(PARAGRAPH_TAG))
                {
                    if (start_of_verse)
                    {
                        if(uct!=null)
                            ms.Append(" (" + verse.verse_id + ") ",color, TextMarkup.Bold);
                        else
                            ms.Append(" (" + verse.verse_id + ") ", TextMarkup.Bold);
                        start_of_verse = false;
                    }
                    if(uct!=null)
                        ms.Append(removeTags(message.Substring(0, b_index)),color);
                    else
                        ms.Append(removeTags(message.Substring(0, b_index)));
                    if(!(verse.chapter.chapter_id == 1 && verse.verse_id == 1))
                    {
                        ms.Append("\r\n");
                       // ms.Append("\r\n");
                    }
                    message = message.Remove(0, e_index+1);
                }
               /* else if (tag_contents.Equals(ITALIC_TAG))
                {
                    if (start_of_verse)
                    {
                        ms.Append(" (" + verse.verse_id + ") ", TextMarkup.Bold);
                        start_of_verse = false;
                    }
                    ms.Append(message.Substring(0, b_index));
                    message = message.Remove(0, e_index + 1); //remove opening tag and previous text
                    int e_italic_index = message.IndexOf("<" + END_ITALIC_TAG + ">");
                    ms.Append(message.Substring(0, e_italic_index), TextMarkup.Italics);
                    message = message.Remove(0, e_italic_index+ 4); //remove closing tag and previous text
                }
                else if (tag_contents.Equals(BOLD_TAG))
                {
                    if (start_of_verse)
                    {
                        ms.Append(" (" + verse.verse_id + ") ", TextMarkup.Bold);
                        start_of_verse = false;
                    }
                    ms.Append(message.Substring(0, b_index));
                    message = message.Remove(0, e_index + 1); //remove opening tag and previous text
                    int e_italic_index = message.IndexOf("<" + END_BOLD_TAG + ">");
                    ms.Append(message.Substring(0, e_italic_index), TextMarkup.Bold);
                    message = message.Remove(0, e_italic_index + 4); //remove closing tag and previous text
                }*/
                else
                {
                    message = message.Remove(b_index, e_index - b_index+1);
                }
                b_index = message.IndexOf('<');
            }
            if (start_of_verse)
            {
                if(uct!=null)
                    ms.Append(" (" + verse.verse_id + ") ", color, TextMarkup.Bold);
                else
                    ms.Append(" (" + verse.verse_id + ") ", TextMarkup.Bold);
            }
            if (uct != null)
            {
                ms.Append(parseSCTags(removeTags(message)), color);
            }
            else
            {
                ms.Append(parseSCTags(removeTags(message)));
            }
        }
예제 #44
0
        /**/
        public static Hashtable getListOfChapters()
        {
            string sqlQuery = "SELECT name, count(DISTINCT Chapter)  as chapter_count"
            + " FROM bible INNER JOIN books ON (books.id = bible.Book) WHERE translation = 1 GROUP BY book, translation";

            MySqlConnection conn = DBManager.getConnection();
            try
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sqlQuery, conn);
                MySqlDataReader rdr = cmd.ExecuteReader();
                Hashtable book_chapters = new Hashtable();
                while (rdr.Read())
                {
                    book_chapters.Add((rdr[0]).ToString(), (rdr[1]).ToString());
                }
                rdr.Close();
                conn.Close();
                return book_chapters;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                conn.Close();
                return null;
            }
        }

        //returns full name of book if it is an abbreviation
        public static String getNameFromID(String book_id)
        {
            if (book_id_map.ContainsKey(book_id))
            {
                return book_id_map[book_id];
            }
            else
            {
                return null;
            }
        }

        //returns comma delimited string list of short codes for given book.
        public static String getShortCodeStringList(String book)
        {
            if (book_abbr_map.ContainsKey(book.ToUpper()))
            {
                return book_abbr_map[book.ToUpper()];
            }
            else
            {
                return "";
            }
        }

        public static int getTestamentIDFromBookID(String book_id)
        {
            int b_id = Int32.Parse(book_id);
            if (b_id <= 38)
                return 0;
            else
                return 1;
        }

        public static List<Testament> getTestaments()
        {
            string sqlQuery = "SELECT * FROM testament";
            MySqlConnection conn = DBManager.getConnection();
            try
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sqlQuery, conn);
                MySqlDataReader rdr = cmd.ExecuteReader();
                List<Testament> testaments = new List<Testament>();
                while (rdr.Read())
                {
                    testaments.Add(new Testament(Int32.Parse((rdr[0]).ToString()),
                                                               (rdr[1]).ToString()));
                }
                rdr.Close();
                return testaments;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return null;
            }
            finally
            {
                conn.Close();
            }
        }

        /*the start and end for now cant span more than one book*/
        public static String getVerseSectionReference(Verse start_verse, Verse end_verse)
        {
            if (start_verse != null)
            {
                return getVerseSectionReferenceWithoutTranslation(start_verse, end_verse) + " (" + start_verse.translation.name + ")";
            }
            else
            {
                return "";
            }
        }
예제 #45
0
        /*the start and end for now cant span more than one book*/
        public static String getVerseSectionReferenceWithoutTranslation(Verse start_verse, Verse end_verse)
        {
            string section = "";
            if (start_verse != null)
            {

                section = start_verse.book.name + " "
                    + start_verse.chapter.chapter_id + ":" + start_verse.verse_id;
                if (end_verse == null || (end_verse != null
                                                && start_verse.getVerseReference() == end_verse.getVerseReference()))
                {
                    //dont do anything
                }
                else if (start_verse.chapter == end_verse.chapter)
                {
                    section += "-" + end_verse.verse_id;
                }
                else if (start_verse.chapter != end_verse.chapter)
                {
                    section += "-" + end_verse.chapter.chapter_id + ":" + end_verse.verse_id;
                }
            }
            return section;
        }
예제 #46
0
 public void GetVerseTest_Optimistic_First_Normal()
 {
     //Repository_Accessor target = new Repository_Accessor();
     string book = "lev";
     int chapter = 5;
     int verse = 19;
     string suffix = "b";
     VersePosition position = VersePosition.First;
     RepositoryMode mode = RepositoryMode.Optimistic;
     Verse expected = new Verse
     {
         Index = 2850,
         BookName = "Leviticus",
         BookNumber = 3,
         ChapterNumber = 5,
         VerseNumber = 19,
         Suffix = "b"
     };
     Verse actual;
     actual = Verse.Create(si, book, chapter, verse, suffix, position, mode);
     Assert.AreEqual(expected, actual);
 }
예제 #47
0
 public void GetVerseTest_Strict_Last_NoVerse()
 {
     //Repository_Accessor target = new Repository_Accessor();
     string book = "lev";
     int chapter = 5;
     int verse = -1;
     string suffix = null;
     VersePosition position = VersePosition.Last;
     RepositoryMode mode = RepositoryMode.Strict;
     Verse expected = new Verse
     {
         Index = 2850,
         BookName = "Leviticus",
         BookNumber = 3,
         ChapterNumber = 5,
         VerseNumber = 19,
         Suffix = null
     };
     Verse actual;
     actual = Verse.Create(si, book, chapter, verse, suffix, position, mode);
     Assert.AreEqual(expected, actual);
 }
예제 #48
0
 protected void appendText(
     MessageToSend ms,
     Verse verse,
     Boolean is_first_verse,
     Boolean is_last_verse,
     UserColourTheme uct)
 {
     //String text = (verse.text).Replace("<lb>", "");
     parseText(ms, verse, is_first_verse, is_last_verse,uct);
        // ms.Append(text, ms);
 }
예제 #49
0
 public void GetVerseTest_Optimistic_First_ChapterTooLarge()
 {
     //Repository_Accessor target = new Repository_Accessor();
     string book = "lev";
     int chapter = 5000;
     int verse = -1;
     string suffix = null;
     VersePosition position = VersePosition.First;
     RepositoryMode mode = RepositoryMode.Optimistic;
     Verse expected = new Verse
     {
         Index = 3605,
         BookName = "Leviticus",
         BookNumber = 3,
         ChapterNumber = 27,
         VerseNumber = 34,
         Suffix = null
     };
     Verse actual;
     actual = Verse.Create(si, book, chapter, verse, suffix, position, mode);
     Assert.AreEqual(expected, actual);
 }
예제 #50
0
 /*public static Verse getStartingVerse(String verse)
 {
     return getStartingVerse( ,verse);
 }*/
 public static Verse getEndingVerse(String translation, Verse start_verse, String verse_loc)
 {
     verse_loc = verse_loc.Trim();
     if (verse_loc.Contains(":"))
     {
         String[] chap_verse = verse_loc.Split(':');
         if (chap_verse.Count() < 2 || chap_verse.Count() > 2)
         {
             return null;
         }
         if (isValidChapterInBook(
             translation,
             chap_verse[0],
             start_verse.book.name))
         {
             if (isValidVerseInChapter(
             translation,
             chap_verse[1],
             chap_verse[0],
             start_verse.book.name))
             {
                 int verse;
                 if (!Int32.TryParse(chap_verse[1], out verse))
                 {
                     return null;
                 }
                 int chap;
                 if (!Int32.TryParse(chap_verse[0], out chap))
                 {
                     return null;
                 }
                 return start_verse.book.getChapter(chap).getVerse(verse);
             }
             else
             {
                 return null;
             }
         }
         else
         {
             return null;
         }
     }
     else
     {
         if (isValidVerseInChapter(
             translation,
             verse_loc,
             (start_verse.chapter.chapter_id).ToString(),
             start_verse.book.name))
         {
             int verse;
             if (!Int32.TryParse(verse_loc, out verse)) //entry is like e.g. 1 John or 2 Corinthians
             {
                 return null;
             }
             return start_verse.book.getChapter(start_verse.chapter.chapter_id).getVerse(verse);
         }
         else
         {
             return null;
         }
     }
 }
예제 #51
0
        /*this adds the verses to the chapter*/
        public static void addChapterVerses(ref Chapter chapter, ref Translation translation)
        {
            Testament book_test = chapter.testament;
            Book book = chapter.book;
            string sqlQuery = "SELECT Verse, VerseText"
            + " FROM bible WHERE translation = '" + translation.translation_id + "' AND book ='" + book.id + "'"
            + " AND Chapter = '" + chapter.chapter_id + "' ORDER BY Verse";
            MySqlConnection conn = DBManager.getConnection();
            try
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sqlQuery, conn);
                MySqlDataReader rdr = cmd.ExecuteReader();

                Verse prev_verse = null;
                Verse next_verse = null;
                if (rdr.HasRows)
                {
                    rdr.Read();

                    Verse curr_verse = new Verse(
                                            Int32.Parse((rdr[0]).ToString()),
                                            (rdr[1]).ToString(),
                                            ref book_test,
                                            ref book,
                                            ref chapter,
                                            ref translation);

                    while (curr_verse != null)
                    {
                        //curr_chapter.prev_chapter = prev_chapter;
                        if (rdr.Read())
                        {

                            next_verse = new Verse(
                                            Int32.Parse((rdr[0]).ToString()),
                                            (rdr[1]).ToString(),
                                            ref book_test,
                                            ref book,
                                            ref chapter,
                                            ref translation
                                            );
                            curr_verse.prev_verse = prev_verse;
                            curr_verse.next_verse = next_verse;
                            chapter.addVerse(ref curr_verse);
                            prev_verse = curr_verse;
                            curr_verse = next_verse;
                        }
                        else
                        {
                            curr_verse.prev_verse = prev_verse;
                            curr_verse.next_verse = null;
                            curr_verse.is_last_verse_of_chapter = true;
                            chapter.addVerse(ref curr_verse);
                            break;
                        }

                    }
                }
                rdr.Close();
                conn.Close();

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                conn.Close();

            }
        }
예제 #52
0
        /*this method updates the DB in seperate thread. to increase performance.
         */
        private static void saveVerseRequestToDB(
            UserSession user_session,
            UserProfile user_profile,
            Verse start,
            Verse end,
            DateTime datetime,
            VerseHistoryRecord vhr)
        {
            VerseHistoryTask vht = new VerseHistoryTask(
                user_session,
                user_profile,
                start,
                end,
                datetime,
                vhr);

            vht.AddVerseToVerseHistory();
        }
예제 #53
0
 /*
  * saves or updates the bookmark
  */
 public int saveBookmarkVerse(Verse start, Verse end)
 {
     lock (thisLock)
     {
         if (bookmark_manager != null)
         {
             return bookmark_manager.saveOrUpdateBookmark(
                 this,
                 user_profile,
                 start,
                 end);
         }
     }
     return 2; //change this to constant
 }
예제 #54
0
 /*this method updates the DB, but should not be called from outside. must be called before after the
  * history list has been updated so that in memory data is insync with persistant data.
  */
 private void saveOrUpdateVerseRequestToDB(
     UserSession user_session,
     UserProfile user_profile,
     Verse start,
     Verse end,
     DateTime datetime,
     BookmarkVerseRecord bvr,
     bool isNew)
 {
     VerseBookMarkTask vbmt = new VerseBookMarkTask(
             user_session,
             user_profile,
             start,
             end,
             datetime,
             bvr);
         if (isNew)
         {
             vbmt.BookMarkVerse();
         }
         else
         {
             vbmt.UpdateBookMarkVerse();
         }
 }
예제 #55
0
 /*
  * records history of verse requests
  */
 public void recordVerseSelection(Verse start, Verse end)
 {
     lock (thisLock)
     {
         if (verse_history != null)
         {
             verse_history.saveVerseRequest(
                 this,
                 user_profile,
                 start,
                 end);
         }
     }
 }
예제 #56
0
 public static String getVerseTextOnly(Verse verse)
 {
     return parseXMLCodes(parseSCTags(removePTandTagsFromVerse(verse)));
 }
예제 #57
0
 /*
  * records history of verse requests
  */
 public int recordFavouriteSelection(Verse start, Verse end)
 {
     lock (thisLock)
     {
         if (favourite_verses != null)
         {
             return favourite_verses.saveFavouriteVerse(
                 this,
                 user_profile,
                 start,
                 end);
         }
     }
     return 2; //change this to constant
 }
예제 #58
0
 public void ToStringTest()
 {
     Verse target = new Verse
     {
         Index = 0,
         BookName = "Genesis",
         BookNumber = 1,
         ChapterNumber = 1,
         VerseNumber = 1,
         Suffix = "a"
     };
     string expected = "Genesis 1:1a";
     string actual;
     actual = target.ToString();
     Assert.AreEqual(expected, actual);
 }
예제 #59
0
 public override Verse.AcceptanceReport CanDesignateCell(Verse.IntVec3 loc)
 {
     throw new NotImplementedException();
 }