using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.GlobalHelper;
using CMS.UIControls;
public partial class CMSModules_Groups_Controls_Members_MemberFilter : CMSUserControl
{
#region "Variables"
private string mWhereCondition = string.Empty;
#endregion
#region "Public properties"
///
/// Where condition built unsig the filter options.
///
public string WhereCondition
{
get
{
return mWhereCondition;
}
}
#endregion
#region "Events"
///
/// Page_load event.
///
/// Sender
/// Arguments
protected void Page_Load(object sender, EventArgs e)
{
InitializeForm();
BuildWhereCondition();
}
#endregion
#region "Private methods"
private void InitializeForm()
{
if (drpMemberName.Items.Count <= 0)
{
drpMemberName.Items.Add(new ListItem("LIKE", "0"));
drpMemberName.Items.Add(new ListItem("NOT LIKE", "1"));
drpMemberName.Items.Add(new ListItem("=", "2"));
drpMemberName.Items.Add(new ListItem("<>", "3"));
}
if (drpMemberStatus.Items.Count <= 0)
{
drpMemberStatus.Items.Add(new ListItem(GetString("general.selectall"), "0"));
drpMemberStatus.Items.Add(new ListItem(GetString("groups.status.waitingforapproval"), "1"));
drpMemberStatus.Items.Add(new ListItem(GetString("general.approved"), "2"));
drpMemberStatus.Items.Add(new ListItem(GetString("general.rejected"), "3"));
// Preselect all
drpMemberStatus.SelectedIndex = 0;
}
}
///
/// Builds where condition and raises search event.
///
private void BuildWhereCondition()
{
// Member name
string memberName = txtMemberName.Text.Trim().Replace("'", "''");
if (!String.IsNullOrEmpty(memberName))
{
// Get proper operator name
int sqlOperatorNumber = ValidationHelper.GetInteger(drpMemberName.SelectedValue, 0);
string sqlOperatorName = "LIKE";
switch (sqlOperatorNumber)
{
case 1:
sqlOperatorName = "NOT LIKE";
break;
case 2:
sqlOperatorName = "=";
break;
case 3:
sqlOperatorName = "<>";
break;
default:
sqlOperatorName = "LIKE";
break;
}
if ((sqlOperatorName == "LIKE") || (sqlOperatorName == "NOT LIKE"))
{
memberName = "%" + memberName + "%";
}
mWhereCondition = "(MemberUserID IN (SELECT UserID FROM CMS_User WHERE UserName " + sqlOperatorName + " N'" + memberName + "'))";
}
// Member status
int sqlStatusNumber = ValidationHelper.GetInteger(drpMemberStatus.SelectedValue, 0);
string sqlStatusCode = "";
switch (sqlStatusNumber)
{
case 1:
sqlStatusCode = "MemberStatus = 2";
break;
case 2:
sqlStatusCode = "MemberStatus = 0";
break;
case 3:
sqlStatusCode = "MemberStatus = 1";
break;
default:
sqlStatusCode = "";
break;
}
if (!String.IsNullOrEmpty(sqlStatusCode))
{
if (!String.IsNullOrEmpty(mWhereCondition))
{
mWhereCondition += " AND ";
}
mWhereCondition += "(" + sqlStatusCode + ")";
}
}
#endregion
}