Пример #1
0
 //---------------------------------------------------------------------------------
 void OnCommentLoaded(object _owner, TaxonComments.TaxonCommentRequestResult _result)
 {
     if (_owner != this)
     {
         return;
     }
     BeginInvoke((Action)(() => SetComments(_result)));
 }
Пример #2
0
        //---------------------------------------------------------------------------------
        void SetComments(TaxonComments.TaxonCommentRequestResult _result)
        {
            _HtmlDivs.Clear();
            foreach (var tuple in _result.Comments)
            {
                string name       = tuple.Item1.Desc.RefMainName;
                string frenchName = tuple.Item1.Desc.FrenchMainName;
                string comment    = tuple.Item2;

                if (string.IsNullOrEmpty(name))
                {
                    name = "unnamed";
                }
                string displayName = name;
                if (!string.IsNullOrEmpty(frenchName))
                {
                    displayName += " ( " + frenchName + " )";
                }

                if (comment != null)
                {
                    int indexStart = comment.IndexOf("<body>");
                    if (indexStart == -1)
                    {
                        return;
                    }
                    indexStart += 6;
                    int indexEnd = comment.IndexOf("</body>");
                    if (indexEnd == -1)
                    {
                        return;
                    }
                    if (indexEnd <= indexStart)
                    {
                        return;
                    }

                    string body = comment.Substring(indexStart, indexEnd - indexStart);

                    _HtmlDivs.Add(new HtmlDiv()
                    {
                        Name = name, Content = body, DisplayName = displayName, Taxon = tuple.Item1
                    });
                }
                else
                {
                    _HtmlDivs.Add(new HtmlDiv()
                    {
                        Name = name, Content = null, DisplayName = displayName, Taxon = tuple.Item1
                    });
                }
            }
            BuildHtml();
            webBrowser.DocumentText = HtmlDocument;
        }