using System;
using System.Collections;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.GlobalHelper;
using CMS.OnlineMarketing;
using CMS.UIControls;
public partial class CMSModules_ContactManagement_FormControls_ContactGroupDialog : CMSModalPage
{
#region "Variables"
private int siteId = -1;
protected Hashtable mParameters;
protected bool allowGlobalGroups = false;
#endregion
#region "Properties"
///
/// Stop processing flag.
///
public bool StopProcessing
{
get
{
return gridElem.StopProcessing;
}
set
{
gridElem.StopProcessing = value;
}
}
///
/// Hashtable containing dialog parameters.
///
private Hashtable Parameters
{
get
{
if (mParameters == null)
{
string identifier = QueryHelper.GetString("params", null);
mParameters = (Hashtable)WindowHelper.GetItem(identifier);
}
return mParameters;
}
}
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
CurrentMaster.Title.TitleText = GetString("om.contactgroup.selecttitle");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/OM_ContactGroup/object.png");
Page.Title = CurrentMaster.Title.TitleText;
if (!QueryHelper.ValidateHash("hash") || Parameters == null)
{
StopProcessing = true;
return;
}
siteId = ValidationHelper.GetInteger(Parameters["siteid"], 0);
// Check permission
if (ContactGroupHelper.AuthorizedReadContactGroup(siteId, true))
{
if (siteId > 0)
{
gridElem.WhereCondition = "ContactGroupSiteID = " + siteId;
}
else
{
gridElem.WhereCondition = "ContactGroupSiteID IS NULL";
}
gridElem.OnExternalDataBound += gridElem_OnExternalDataBound;
gridElem.OnBeforeDataReload += gridElem_OnBeforeDataReload;
}
}
protected void gridElem_OnBeforeDataReload()
{
if (!gridElem.StopProcessing)
{
// Hide the last column if it is not necessary
gridElem.NamedColumns["isglobal"].Visible = allowGlobalGroups;
}
}
///
/// Unigrid external databound handler.
///
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
{
switch (sourceName)
{
case "contactgroupdisplayname":
LinkButton btn = new LinkButton();
DataRowView drv = parameter as DataRowView;
btn.Text = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(ValidationHelper.GetString(drv["ContactGroupDisplayName"], null)));
btn.Click += new EventHandler(btn_Click);
btn.CommandArgument = ValidationHelper.GetString(drv["ContactGroupID"], null);
btn.ToolTip = HTMLHelper.HTMLEncode(ValidationHelper.GetString(drv.Row["ContactGroupDescription"], null));
return btn;
case "isglobal":
return (parameter is DBNull) ? UniGridFunctions.ColorLessSpanYesNo(true) : string.Empty;
}
return parameter;
}
///
/// Contact group selected event handler.
///
protected void btn_Click(object sender, EventArgs e)
{
int groupId = ValidationHelper.GetInteger(((LinkButton)sender).CommandArgument, 0);
string script = ScriptHelper.GetScript(@"
wopener.SelectValue_" + ValidationHelper.GetString(Parameters["clientid"], string.Empty) + @"(" + groupId + @");
CloseDialog();
");
ScriptHelper.RegisterStartupScript(Page, typeof(string), "CloseWindow", script);
}
#endregion
}