private void Scan_Click(object sender, RoutedEventArgs e) { literatureSourceUIs = new List <LiteratureSourceUI>(); SourcesList.Children.Clear(); TextSearchResults textSearchResults = richTextBoxAdv.FindAll(new Regex(@"\[.*?\]"), FindOptions.None); if (textSearchResults != null) { int index = 1; for (int i = 0; i < textSearchResults.Count; i++) { TextSearchResult textSearchResult = textSearchResults[i]; string[] sublinks = textSearchResult.Text.Substring(1, textSearchResult.Text.Length - 1).Split('#'); for (int j = 0; j < sublinks.Length; j++) { string text = sublinks[j].Trim(); try { literatureSourceUIs.First(x => x.literatureSource.shadowText == text); } catch { LiteratureSourceUI literatureSourceUI = new LiteratureSourceUI(new LiteratureSource(index, text), this); literatureSourceUIs.Add(literatureSourceUI); index++; SourcesList.Children.Add(literatureSourceUI); } } } } }
public List <string> GetAllShadows(LiteratureSourceUI literatureSourceUI) { List <string> ret = new List <string> { literatureSourceUI.literatureSource.shadowText }; for (int i = 0; i < literatureSourceUI.literatureSource.linkedIds.Count; i++) { ret.Add(literatureSourceUIs.FirstOrDefault(x => x.literatureSource.id == literatureSourceUI.literatureSource.linkedIds[i]).literatureSource.shadowText); } return(ret); }