using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.EventManager;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.UIControls;
using CMS.ExtendedControls;
public partial class CMSModules_EventManager_Controls_EventAttendees : CMSAdminControl
{
#region "Variables"
private int mEventID = 0;
protected int attendeeId = 0;
protected EventAttendeeInfo eai = null;
#endregion
#region "Properties"
///
/// Attendees' EventID.
///
public int EventID
{
get
{
return mEventID;
}
set
{
mEventID = value;
}
}
///
/// Stop processing.
///
public override bool StopProcessing
{
get
{
return base.StopProcessing;
}
set
{
base.StopProcessing = value;
attendeesList.StopProcessing = value;
attendeeEdit.StopProcessing = value;
}
}
///
/// Indicates if control is used on live site
///
public override bool IsLiveSite
{
get
{
return base.IsLiveSite;
}
set
{
base.IsLiveSite = value;
actionsElem.IsLiveSite = value;
}
}
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
lnkEditBack.Click += new EventHandler(lnkEditBack_Click);
// New item link
string[,] actions = new string[1,7];
actions[0, 0] = HeaderActions.TYPE_LINKBUTTON;
actions[0, 1] = GetString("Events_Attendee_List.NewItemCaption");
actions[0, 2] = null;
actions[0, 4] = null;
actions[0, 5] = GetImageUrl("CMSModules/CMS_EventManager/addattendee.png");
actions[0, 6] = "new_attendee";
// Load edit attendee id from hiddenfield
if (!String.IsNullOrEmpty(hdnState.Value))
{
attendeeEdit.EventID = EventID;
attendeeEdit.AttendeeID = ValidationHelper.GetInteger(hdnState.Value, 0);
}
actionsElem.Actions = actions;
actionsElem.ActionPerformed += new CommandEventHandler(actionsElem_ActionPerformed);
attendeesList.UsePostback = true;
attendeeEdit.UsePostBack = true;
attendeesList.EventID = EventID;
attendeeEdit.OnCheckPermissions += new CheckPermissionsEventHandler(attendeeEdit_OnCheckPermissions);
attendeesList.OnCheckPermissions += new CheckPermissionsEventHandler(attendeeEdit_OnCheckPermissions);
}
///
/// Check permissions.
///
/// Permission type
/// Sender
private void attendeeEdit_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
RaiseOnCheckPermissions(permissionType, sender);
}
///
/// Creates breadcumbs.
///
public void CreateBreadCrumbs()
{
// Breadcrumbs
lblEditBack.Text = " ";
lnkEditBack.Text = GetString("events_attendee_list.general");
EventAttendeeInfo eai = EventAttendeeInfoProvider.GetEventAttendeeInfo(ValidationHelper.GetInteger(hdnState.Value, 0));
if (eai != null)
{
lblEditNew.Text = eai.AttendeeEmail;
}
else
{
lblEditNew.Text = GetString("events_attendee_edit.newitemcaption");
}
}
///
/// New attendee click handler.
///
protected void actionsElem_ActionPerformed(object sender, CommandEventArgs e)
{
switch (e.CommandName.ToLowerCSafe())
{
case "new_attendee":
hdnState.Value = "0";
break;
}
}
///
/// Rest info about attendee selection.
///
public void Reset()
{
hdnState.Value = String.Empty;
}
///
/// Breadcrumbs clicked.
///
/// Sender
private void lnkEditBack_Click(object sender, EventArgs e)
{
hdnState.Value = String.Empty;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (attendeeEdit.NewItemID != 0)
{
hdnState.Value = attendeeEdit.NewItemID.ToString();
}
if (attendeesList.SelectedAttendeeID != 0)
{
hdnState.Value = attendeesList.SelectedAttendeeID.ToString();
}
if (String.IsNullOrEmpty(hdnState.Value))
{
pnlEdit.Visible = false;
pnlList.Visible = true;
attendeesList.EventID = EventID;
attendeesList.ReloadData();
}
else
{
attendeesList.StopProcessing = true;
pnlList.Visible = false;
pnlEdit.Visible = true;
attendeeEdit.AttendeeID = ValidationHelper.GetInteger(hdnState.Value, 0);
attendeeEdit.EventID = EventID;
attendeeEdit.LoadEditData();
CreateBreadCrumbs();
}
}
#endregion
}