using System;
using System.Web.UI.WebControls;
using SiberTek.Xenta.Enums;
using SiberTek.Xenta.Presentation;
using SiberTek.Xenta.Presentation.Resources;
using SiberTek.Xenta.Web.Pages;
using SiberTek.Xenta.Web.Utils;
namespace SiberTek.Xenta.Web.Admin.Pages
{
public partial class ForumDetailsPage : AdminPageBase
{
#region Properties
private int? QParamForum
{
get
{
return HttpHelper.GetQueryParam<Int32?>("Forum");
}
}
public override bool IsAccessAllowed
{
get
{
return base.IsAccessAllowed && UserContext.Current.HasPermission((int)ForumPermission.ForumManagement);
}
}
#endregion
#region Methods
public override void ShowMessage(string s)
{
lstMessageList.Items.Add(new ListItem(s));
}
#endregion
#region Handlers
protected override void OnInit(EventArgs e)
{
if(!IsPostBack)
{
btnDelete.CommandName = "Delete";
btnSave.CommandName = QParamForum.HasValue ? "Update" : "Create";
lblContentTitle.Text = StringManager.GetString("Admin.ForumDetailsPage.lblContentTitle.Text");
lblBack.Text = StringManager.GetString("Admin.ForumDetailsPage.lblBack.Text");
lblHome.Text = StringManager.GetString("Admin.ForumDetailsPage.lblHome.Text");
lblSave.Text = StringManager.GetString("Admin.ForumDetailsPage.lblSave.Text");
lblDelete.Text = StringManager.GetString("Admin.ForumDetailsPage.lblDelete.Text");
lblTabMain.Text = StringManager.GetString("Admin.ForumDetailsPage.lblTabMain.Text");
lblTabTopics.Text = StringManager.GetString("Admin.ForumDetailsPage.lblTabTopics.Text");
lblTabRoleMap.Text = StringManager.GetString("Admin.ForumDetailsPage.lblTabRoleMap.Text");
lnkBack.ToolTip = StringManager.GetString("Admin.ForumDetailsPage.lnkBack.ToolTip");
lnkHome.ToolTip = StringManager.GetString("Admin.ForumDetailsPage.lnkHome.ToolTip");
btnSave.ToolTip = StringManager.GetString("Admin.ForumDetailsPage.btnSave.ToolTip");
btnDelete.ToolTip = StringManager.GetString("Admin.ForumDetailsPage.btnDelete.ToolTip");
lnkBack.NavigateUrl = UrlHelper.GetUrl("admin", "forum/forums.aspx");
lnkHome.NavigateUrl = UrlHelper.GetUrl("admin", "home.aspx");
btnDelete.Enabled = QParamForum.HasValue;
pnlTopics.Visible = QParamForum.HasValue;
tabTopics.Visible = QParamForum.HasValue;
pnlRoleMap.Visible = QParamForum.HasValue;
tabRoleMap.Visible = QParamForum.HasValue;
grdForumTopicGrid.SetColumnVisibility(0, false);
btnDelete.Attributes.Add("onClick", String.Format("return confirm(\'{0}\');", StringManager.GetString("Admin.Common.AreYouSure")));
}
btnSave.Command += frmForumForm.OnCommand;
btnSave.Command += grdForumRoleMap.OnCommand;
btnDelete.Command += frmForumForm.OnCommand;
btnSave.Command += OnCommand;
btnDelete.Command += OnCommand;
base.OnInit(e);
}
protected override void OnLoadComplete(EventArgs e)
{
if(!IsPostBack)
{
frmForumForm.ForumID = QParamForum;
frmForumForm.BindData();
if(QParamForum.HasValue)
{
if(frmForumForm.DataContainer["Forum"] == null)
{
Response.Redirect(UrlHelper.GetUrl("home", "not-found.aspx"));
}
grdForumTopicGrid.ForumID = QParamForum.Value;
grdForumTopicGrid.BindData();
grdForumRoleMap.ForumID = QParamForum.Value;
grdForumRoleMap.BindData();
}
}
base.OnLoadComplete(e);
}
protected override void OnPreRender(EventArgs e)
{
lstMessageList.DataBind();
base.OnPreRender(e);
}
protected void OnCommand(object sender, CommandEventArgs e)
{
switch(e.CommandName)
{
case "Create":
{
if(frmForumForm.ForumID.HasValue)
{
Response.Redirect(UrlHelper.FormatUrl("admin", "forum/forums/{0}.aspx", frmForumForm.ForumID));
}
}
break;
case "Update":
{
frmForumForm.BindData();
grdForumRoleMap.BindData();
}
break;
case "Delete":
{
Response.Redirect(UrlHelper.GetUrl("admin", "forum/forums.aspx"));
}
break;
}
}
#endregion
}
}