private void FillItems(IEnumerable <string> list, CreateFilterDelegate createFilterDelegate)
        {
            FilterItems.Clear();
            var sorted = list.ToList();

            sorted.Sort();
            foreach (string s in sorted)
            {
                ListItem item = new ListItem();
                item.AdditionalProperties[KEY_FILTER] = createFilterDelegate(s); // Creates a dynamic filter like s => s.Titel="Radio 100"
                if (_typ == "country")
                {
                    item.SetLabel("Name", "[Country." + s + "]");
                }
                else
                {
                    item.SetLabel("Name", s);
                }
                FilterItems.Add(item);
            }
            FilterItems.FireChange();
        }
        private void CreateFiltersMulti(Func <MyStream, bool> predicate, Func <MyStream, string[]> selector, CreateFilterDelegate filter)
        {
            var list = WebradioHome.StreamList.Where(predicate).SelectMany(selector).Select(s => s.Trim()).Distinct();

            FillItems(list, filter);
        }
 private void CreateFiltersMulti(Func<MyStream, bool> predicate, Func<MyStream, string[]> selector, CreateFilterDelegate filter)
 {
     var list = WebradioHome.StreamList.Where(predicate).SelectMany(selector).Select(s => s.Trim()).Distinct();
       FillItems(list, filter);
 }
 private void FillItems(IEnumerable<string> list, CreateFilterDelegate createFilterDelegate)
 {
     FilterItems.Clear();
       var sorted = list.ToList();
       sorted.Sort();
       foreach (string s in sorted)
       {
     ListItem item = new ListItem();
     item.AdditionalProperties[KEY_FILTER] = createFilterDelegate(s); // Creates a dynamic filter like s => s.Titel="Radio 100"
     if (_typ == "country")
     {
       item.SetLabel("Name", "[Country." + s + "]");
     }
     else
     {
       item.SetLabel("Name", s);
     }
     FilterItems.Add(item);
       }
       FilterItems.FireChange();
 }
Example #5
0
 /// <summary>
 ///     Initialize the plugin and it's name
 /// </summary>
 /// <param name="name">
 ///     The plugin's name
 /// </param>
 public FilterPlugin(string name)
     : base("Filters", name)
 {
     MethodInfo methodInfo = GetMethod ("CreateFilter");
     CreateFilter = Delegate.CreateDelegate (typeof(CreateFilterDelegate), methodInfo) as CreateFilterDelegate;
 }