using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using CMS.EventManager; using CMS.ExtendedControls; using CMS.GlobalHelper; using CMS.UIControls; public partial class CMSModules_EventManager_Controls_EventManagement : CMSAdminControl { #region "Properties" /// /// Site name filter. /// public string SiteName { get { return eventList.SiteName; } set { eventList.SiteName = value; } } /// /// Gets or sets the order by condition. /// public string OrderBy { get { return eventList.OrderBy; } set { eventList.OrderBy = value; } } /// /// Gets or sets the value of items per page. /// public string ItemsPerPage { get { return eventList.ItemsPerPage; } set { eventList.ItemsPerPage = value; } } /// /// Event date filter. /// public string EventScope { get { return eventList.EventScope; } set { eventList.EventScope = value; } } /// /// Stop processing. /// public override bool StopProcessing { get { return base.StopProcessing; } set { base.StopProcessing = value; eventList.StopProcessing = value; emailSender.StopProcessing = value; attendeesList.StopProcessing = value; } } /// /// Messages placeholder /// public override MessagesPlaceHolder MessagesPlaceHolder { get { return plcMess; } } /// /// Header actions control /// public override HeaderActions HeaderActions { get { return plcHeaderActions; } } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(hdnEventID.Value) && (eventList.SelectedEventID == 0)) { eventList.SelectedEventID = ValidationHelper.GetInteger(hdnEventID.Value, 0); attendeesList.EventID = eventList.SelectedEventID; emailSender.EventID = eventList.SelectedEventID; } lnkEditBack.Click += new EventHandler(lnkEditBack_Click); eventList.UsePostBack = true; //Tabs creation string[,] tabs = new string[4,4]; tabs[0, 0] = GetString("Events_Attendee_List.General"); tabs[0, 1] = ""; tabs[1, 0] = GetString("Events_Edit.SendEmail"); tabs[1, 1] = ""; tabControlElem.Tabs = tabs; tabControlElem.UsePostback = true; attendeesList.OnCheckPermissions += new CheckPermissionsEventHandler(attendeesList_OnCheckPermissions); emailSender.OnCheckPermissions += new CheckPermissionsEventHandler(attendeesList_OnCheckPermissions); } /// /// Check permissions. /// /// Permission /// Sender private void attendeesList_OnCheckPermissions(string permissionType, CMSAdminControl sender) { RaiseOnCheckPermissions(permissionType, sender); } /// /// Breadcrumbs back clicked. /// /// Sender /// Event args private void lnkEditBack_Click(object sender, EventArgs e) { eventList.SelectedEventID = 0; hdnEventID.Value = String.Empty; } protected override void OnPreRender(EventArgs e) { if (eventList.SelectedEventID != 0) { eventList.Visible = false; eventList.StopProcessing = true; pnlAttendees.Visible = true; hdnEventID.Value = eventList.SelectedEventID.ToString(); attendeesList.EventID = eventList.SelectedEventID; emailSender.EventID = eventList.SelectedEventID; SetBreadcrumbs(); } else { eventList.Visible = true; pnlAttendees.Visible = false; attendeesList.StopProcessing = true; emailSender.StopProcessing = true; eventList.ReloadData(); attendeesList.Reset(); } base.OnPreRender(e); } /// /// Sets breadcrumbs. /// private void SetBreadcrumbs() { lblEditBack.Text = "   "; lnkEditBack.Text = GetString("Events_Edit.itemlistlink"); string eventCapacity = "0"; string eventTitle = ""; string registeredAttendees = null; DataSet ds = EventProvider.GetEvent(eventList.SelectedEventID, "EventCapacity, EventName, AttendeesCount"); if (!DataHelper.DataSourceIsEmpty(ds)) { eventCapacity = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["EventCapacity"], 0).ToString(); eventTitle = ValidationHelper.GetString(ds.Tables[0].Rows[0]["EventName"], ""); registeredAttendees = ValidationHelper.GetString(ds.Tables[0].Rows[0]["AttendeesCount"], ""); } if (ValidationHelper.GetInteger(eventCapacity, 0) > 0) { lblEditNew.Text = String.Format(GetString("Events_Edit.RegisteredAttendeesOfCapacity"), eventTitle, registeredAttendees, eventCapacity); } else { lblEditNew.Text = String.Format(GetString("Events_Edit.RegisteredAttendeesNoLimit"), eventTitle, registeredAttendees); } } protected void tabControlElem_clicked(object sender, EventArgs e) { int selectedTab = tabControlElem.SelectedTab; if (selectedTab == 1) { attendeesList.Visible = false; pnlSendEmail.Visible = true; emailSender.ReloadData(true); } else { attendeesList.Visible = true; pnlSendEmail.Visible = false; attendeesList.Reset(); } } #endregion }