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
}