Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Web.UI;
- using Telerik.Sitefinity.Events.Model;
- using Telerik.Sitefinity.GenericContent.Model;
- using Telerik.Sitefinity.Modules.Events;
- using Telerik.Sitefinity.Taxonomies;
- namespace SitefinityWebApp.CustomWidgets
- {
- public partial class CustomFilter : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- TaxonomyManager taxMan = TaxonomyManager.GetManager();
- var categories = taxMan.GetTaxonomy(TaxonomyManager.CategoriesTaxonomyId).Taxa;
- categorySelector.DataValueField = "Id";
- categorySelector.DataTextField = "Title";
- categorySelector.DataSource = categories;
- categorySelector.DataBind();
- EventsManager eventsMan = EventsManager.GetManager();
- var cities = eventsMan.GetEvents().Select(evt => evt.City.ToString()).ToList().Distinct();
- citySelector.DataSource = cities;
- citySelector.DataBind();
- }
- Submit.Click += Submit_Click;
- Page.ViewStateMode = ViewStateMode.Enabled;
- Page.EnableViewState = true;
- }
- void Submit_Click(object sender, EventArgs e)
- {
- EventsManager eventsMan = EventsManager.GetManager();
- int? totalcount = -1;
- var categoryId = categorySelector.Items[categorySelector.SelectedIndex].Value;
- string city = citySelector.Items[citySelector.SelectedIndex].Value;
- IQueryable<Event> events = null;
- if (!categoryId.IsNullOrWhitespace())
- {
- events = eventsMan.Provider.GetItemsByTaxon(
- new Guid(categoryId),
- false,
- "Category",
- typeof(Event),
- "Status = Master", "",
- RadListView1.PageSize * RadListView1.CurrentPageIndex,
- RadListView1.PageSize, ref totalcount).Cast<Event>().AsQueryable();
- }
- else
- {
- events = eventsMan.GetEvents()
- .Where(evt => evt.Status == ContentLifecycleStatus.Master)
- .Skip(RadListView1.PageSize * RadListView1.CurrentPageIndex)
- .Take(RadListView1.PageSize);
- }
- if (!city.IsNullOrWhitespace())
- events = events.Where(evt => evt.City == city);
- if (RadDatePicker1.SelectedDate != null)
- events = events.Where(evt => evt.EventStart >= RadDatePicker1.SelectedDate);
- if(RadDatePicker2.SelectedDate != null)
- events = events.Where(evt => evt.EventStart <= RadDatePicker2.SelectedDate);
- RadListView1.DataSource = events;
- RadListView1.DataBind();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement