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);
 }
示例#2
0
 public Groups(Objects.Group group)
     : base("groups", group)
 {
     //
 }