public void ShowContent(SbResultset results)
 {
     this.mainPage.ClearContent();
     foreach (ISbItem item in results.Itens)
     {
         ActivateSbItem(item);
     }
     this.mainPage.ShowContent(results);
 }
Ejemplo n.º 2
0
        public void ShowContent(SbResultset results)
        {
            ResultsetContentGenerator generator = new ResultsetContentGenerator();

            ClearContent();

            generator.StyleTitle           = document.FindResource("StyleTitle") as Style;
            generator.OnParagraphMouseDown = OnParagraphMouseDown;
            generator.OnReferenceMouseDown = OnReferenceMouseDown;
            documentReader.Document.Blocks.AddRange(generator.GenerateParagraphs(results));
        }
Ejemplo n.º 3
0
 internal IList <Block> GenerateParagraphs(SbResultset resultset)
 {
     currentResultset = resultset;
     if (resultset.Type == SbResultsetType.Referencia)
     {
         return(GenerateParagraphsForReference(resultset.Itens));
     }
     else
     {
         return(GenerateParagraphsForSearch(resultset.Itens));
     }
 }
Ejemplo n.º 4
0
        private string OnMessage(object sender, string term)
        {
            StringBuilder sb        = new StringBuilder();
            SbResultset   resultset = searcher.Search(term);

            if (resultset == null)
            {
                return("Não entendi, por favor, reformule sua consulta.\nEx: João 3:16 ou Salmo 23:1-4");
            }

            foreach (ISbItem item in resultset.Itens.Take(10))
            {
                if ((item is Livro) || (item is Capitulo))
                {
                    searcher.ActivateSbItem(item);
                    sb.Append(string.Format(GetTitle(item), item.Children.Count()));
                    sb.Append("\nSeja mais específico na sua consulta.\n");
                }
                else if (item is Versiculo)
                {
                    sb.Append(GetTitle(item));
                    sb.Append(item.Display);
                    sb.Append("\n");
                }
                else if (item is SbItemPair)
                {
                    foreach (ISbItem child in item.Children)
                    {
                        sb.Append(GetTitle(child));
                        sb.Append(" ");
                        sb.Append(child.Display);
                        sb.Append("\n");
                    }
                }
            }
            return(sb.ToString());
        }
        internal void SearchRequested(string term)
        {
            if (this.sbItemSuggest.GetSuggestionsFor(term).Count() > 0)
            {
                this.controller.DefaultTerm = term;
                ISbItem opcao = this.sbItemSuggest.GetSuggestionsFor(term).First();
                this.ShowContent(new SbResultset(opcao, SbResultsetType.Referencia));
                return;
            }

            try
            {
                int             total      = 0;
                IList <ISbItem> versiculos = BuscaRequested(term, out total);
                if (versiculos.Count > 0)
                {
                    SbResultset resultset = new SbResultset(versiculos, SbResultsetType.BuscaLivre);
                    resultset.TotalSearchResults = total;
                    this.ShowContent(resultset);
                    return;
                }
            } catch { }
            mainPage.ShowHelp(true);
        }