private void tbx_AnidbID_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) { AnidbResult ar = GroupHandler.SearchAniDBByID(anititles, tbx_AnidbID.Text.Trim()); if (ar != null) { RichTextBoxHepler.SetText(rtb_GroupMembers, ar.keywords); RichTextBoxHepler.SetText(rtb_Presenter, ar.presenter); } else { RichTextBoxHepler.SetText(rtb_Presenter, ""); } }
private void lView_TargetList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lView_TargetList.SelectedItems.Count > 0) { btn_Remove_Item.IsEnabled = true; if (lView_TargetList.SelectedItems.Count == 1) { tbx_TitleKeyword.Text = string.IsNullOrEmpty(((ItemToRename)lView_TargetList.SelectedItems[0]).AlterKey) ? GroupHandler.GetTitleKeyword(Path.GetFileNameWithoutExtension(((ItemToRename)lView_TargetList.SelectedItems[0]).Before)) : ((ItemToRename)lView_TargetList.SelectedItems[0]).AlterKey; OriginalSearchWord = string.IsNullOrEmpty(tbx_TitleKeyword.Text) ? ((ItemToRename)lView_TargetList.SelectedItems[0]).Before : tbx_TitleKeyword.Text; if (string.IsNullOrEmpty(tbx_TitleKeyword.Text)) { tbx_TitleKeyword.Text = OriginalSearchWord; } AnidbResult ar = SearchMatchFromBothSources(OriginalSearchWord); if (ar != null) { if (ar.aid == "xxx") { Group presetgroup = groups.Where(x => x.Presenter == ar.presenter).FirstOrDefault(); if (presetgroup != null) { lbl_GroupsMatch.Visibility = Visibility.Visible; lView_Groups.SelectedItem = presetgroup; lView_Groups.Items.Refresh(); lView_Groups.ScrollIntoView(presetgroup); } } else { lbl_GroupsMatch.Visibility = Visibility.Hidden; tbx_AnidbID.Text = ar.aid; } tbx_Presenter.Text = ar.presenter; tbx_GroupMembers.Text = ar.keywords; } else { tbx_Presenter.Text = ""; tbx_GroupMembers.Text = ""; } } } else { btn_Remove_Item.IsEnabled = false; } }
private void tbx_AnidbID_KeyUp(object sender, KeyEventArgs e) { AnidbResult ar = GroupHandler.SearchAniDBByID(anititles, tbx_AnidbID.Text.Trim()); if (ar != null) { tbx_GroupMembers.Text = ar.keywords; tbx_Presenter.Text = ar.presenter; btn_SetKeywordKey.IsEnabled = true; } else { tbx_Presenter.Text = ""; btn_SetKeywordKey.IsEnabled = false; } }
private void tbx_TitleKeyword_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) { AnidbResult ar = GroupHandler.SearchAniDB(anititles, tbx_TitleKeyword.Text.Trim()); if (ar != null) { tbx_AnidbID.Text = ar.aid; RichTextBoxHepler.SetText(rtb_GroupMembers, ar.keywords); //if (string.IsNullOrEmpty(RichTextBoxHepler.GetText(rtb_Presenter))) //{ RichTextBoxHepler.SetText(rtb_Presenter, ar.presenter); //} } else { RichTextBoxHepler.SetText(rtb_Presenter, ""); } }
public static AnidbResult SearchGroups(ObservableCollection <Objects.Group> groups, string keyword, bool idsearch) { Objects.Group gr = new Objects.Group(); if (!string.IsNullOrEmpty(keyword)) { keyword = keyword.ToLowerInvariant(); if (idsearch) { gr = groups.Where(x => x.Enable && x.AnidbId == keyword.Replace("anidb-", "")).FirstOrDefault(); } else { string prepped_keyword = Utilities.Prepare_Keyword(keyword); // Presenter full match gr = groups.Where(x => x.Enable && x.Presenter.ToLowerInvariant().Contains(prepped_keyword)).FirstOrDefault(); // Presenter StartWith if (gr == null) { gr = groups.Where(x => x.Enable && x.Presenter.ToLowerInvariant().StartsWith(prepped_keyword.Replace("]", ""))).FirstOrDefault(); } // Presenter partial match if (gr == null) { gr = groups.Where(x => x.Enable && x.Presenter.ToLowerInvariant().Contains(keyword)).FirstOrDefault(); } // Members partial match if (gr == null) { gr = groups.Where(x => x.Enable && x.Members.ToLowerInvariant().Contains(keyword)).FirstOrDefault(); } } if (gr != null) { AnidbResult ar = new AnidbResult { aid = "xxx", presenter = gr.Presenter, keywords = gr.Members }; return(ar); } } return(null); }
public static AnidbResult SearchAniDB(ObservableCollection <AnimeTitle> anititles, string keyword, bool idsearch) { int aid = 0; if (idsearch) { aid = anititles.Where(x => x.aid == Convert.ToInt32(keyword.Replace("anidb-", ""))).Select(x => x.aid).FirstOrDefault(); } else { aid = anititles.Where(x => x.title.ToLowerInvariant() == keyword.ToLowerInvariant()).Select(x => x.aid).FirstOrDefault(); if (aid < 1) { aid = anititles.Where(x => x.title.ToLowerInvariant().StartsWith(keyword.ToLowerInvariant())).Select(x => x.aid).FirstOrDefault(); if (aid < 1) { aid = anititles.Where(x => x.title.ToLowerInvariant().Contains(keyword.ToLowerInvariant())).Select(x => x.aid).FirstOrDefault(); } } } string keywords = ""; string presenter = ""; if (aid > 0) { string[] candidates = anititles.Where(x => x.aid == aid).Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); keywords = string.Join(",", candidates); string[] Pcandidates = anititles.Where(x => x.aid == aid && x.type != "short").Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); //Array.Sort(Pcandidates, (x, y) => x.Length.CompareTo(y.Length)); Array.Sort(Pcandidates, (x, y) => String.Compare(x, y)); presenter = string.Join(",", Pcandidates); if (!string.IsNullOrEmpty(keyword)) { AnidbResult ar = new AnidbResult { aid = aid.ToString(), presenter = presenter, keywords = keywords }; return(ar); } } return(null); }
private void lView_TargetList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lView_TargetList.SelectedItems.Count > 0) { btn_Remove_Item.IsEnabled = true; if (lView_TargetList.SelectedItems.Count == 1) { tbx_TitleKeyword.Text = string.IsNullOrEmpty(((ItemToRename)lView_TargetList.SelectedItems[0]).AlterKey) ? GroupHandler.GetTitleKeyword(((ItemToRename)lView_TargetList.SelectedItems[0]).Before) : ((ItemToRename)lView_TargetList.SelectedItems[0]).AlterKey; OriginalSearchWord = tbx_TitleKeyword.Text; AnidbResult ar = GroupHandler.SearchAniDB(anititles, tbx_TitleKeyword.Text); if (ar != null) { tbx_AnidbID.Text = ar.aid; RichTextBoxHepler.SetText(rtb_Presenter, ar.presenter); RichTextBoxHepler.SetText(rtb_GroupMembers, ar.keywords); } else { Group presetgroup = groups.Where(x => x.Members.ToLowerInvariant().Contains(tbx_TitleKeyword.Text.ToLowerInvariant())).FirstOrDefault(); if (presetgroup != null) { RichTextBoxHepler.SetText(rtb_Presenter, presetgroup.Presenter); RichTextBoxHepler.SetText(rtb_GroupMembers, presetgroup.Members); lView_Groups.SelectedItem = presetgroup; lView_Groups.Items.Refresh(); lView_Groups.ScrollIntoView(presetgroup); } else { RichTextBoxHepler.SetText(rtb_Presenter, ""); RichTextBoxHepler.SetText(rtb_GroupMembers, ""); } } //lView_Groups.SelectedItem = null; } } else { btn_Remove_Item.IsEnabled = false; } }
public static AnidbResult SearchAniDBByID(ObservableCollection <AnimeTitle> anititles, string aid) { AnidbResult ar = new AnidbResult(); string keywords = ""; string presenter = ""; if (!string.IsNullOrEmpty(aid)) { string[] candidates = anititles.Where(x => x.aid == Convert.ToInt32(aid)).Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); keywords = string.Join(",", candidates); string[] Pcandidates = anititles.Where(x => x.aid == Convert.ToInt32(aid) && x.type != "short").Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); presenter = string.Join(",", Pcandidates); ar.aid = aid; ar.presenter = presenter; ar.keywords = keywords; return(ar); } return(null); }
private void tbx_TitleKeyword_KeyUp(object sender, KeyEventArgs e) { if (e != null) { if (e.Key == Key.Escape) { tbx_TitleKeyword.Text = string.Empty; return; } } AnidbResult ar = SearchMatchFromBothSources(tbx_TitleKeyword.Text); if (ar != null) { if (ar.aid == "xxx") { Group presetgroup = groups.Where(x => x.Presenter == ar.presenter).FirstOrDefault(); if (presetgroup != null) { lbl_GroupsMatch.Visibility = Visibility.Visible; lView_Groups.SelectedItem = presetgroup; lView_Groups.Items.Refresh(); lView_Groups.ScrollIntoView(presetgroup); } } else { lbl_GroupsMatch.Visibility = Visibility.Hidden; tbx_AnidbID.Text = ar.aid; } tbx_GroupMembers.Text = ar.keywords; tbx_Presenter.Text = ar.presenter; } else { lbl_GroupsMatch.Visibility = Visibility.Hidden; tbx_Presenter.Text = ""; } }
public static AnidbResult SearchAniDB(ObservableCollection <AnimeTitle> anititles, string keyword) { AnidbResult ar = new AnidbResult(); int aid = anititles.Where(x => x.title.ToLowerInvariant().StartsWith(keyword.ToLowerInvariant())).Select(x => x.aid).FirstOrDefault(); string keywords = ""; string presenter = ""; if (aid > 0) { string[] candidates = anititles.Where(x => x.aid == aid).Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); keywords = string.Join(",", candidates); string[] Pcandidates = anititles.Where(x => x.aid == aid && x.type != "short").Select(x => x.title).Distinct(StringComparer.CurrentCultureIgnoreCase).ToArray(); presenter = string.Join(",", Pcandidates); if (!string.IsNullOrEmpty(keyword)) { ar.aid = aid.ToString(); ar.presenter = presenter; ar.keywords = keywords; return(ar); } } return(null); }
private AnidbResult SearchMatchFromBothSources(string keyword) { AnidbResult ar = new AnidbResult(); if (!string.IsNullOrEmpty(keyword)) { if (keyword.Trim().ToLowerInvariant().StartsWith("anidb-") && keyword.Trim().Length > 6) { ar = GroupHandler.SearchGroups(groups, keyword.Trim(), true); } else { ar = GroupHandler.SearchGroups(groups, keyword.Trim(), false); } if (ar != null) { return(ar); } else { if (keyword.Trim().ToLowerInvariant().StartsWith("anidb-") && keyword.Trim().Length > 6) { ar = GroupHandler.SearchAniDB(anititles, keyword.Trim(), true); } else { ar = GroupHandler.SearchAniDB(anititles, keyword.Trim(), false); } if (ar != null) { return(ar); } } } return(null); }