using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml; using System.Data.SqlClient; using System.Data.SqlTypes; public partial class Admin_SetPermission : System.Web.UI.Page { SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString); DataSet ds = new DataSet(); SqlCommand cmd; FillDD objFillDD = new FillDD(); Dashboard objDash = new Dashboard(); protected void Page_Load(object sender, EventArgs e) { try { Session["AdminAuth"] = "Admin"; if (Request.UserAgent.IndexOf("AppleWebKit") > 0) { Request.Browser.Adapters.Clear(); } if (!Page.IsPostBack) { Fill_DDUser(); ShowHide_Button(); } } catch (Exception ex) { lblDgErr.Text = (ex.Message); } } protected void DDUser_SelectedIndexChanged(object sender, EventArgs e) { if (DDUser.SelectedItem.Text == "-- Select User --") { GVMenu.DataSource = null; GVMenu.DataBind(); lblUserSel.Text = ""; } else { Fill_GVMenu(); lblUserSel.Text = DDUser.SelectedItem.Text; } ShowHide_Button(); } private void Fill_DDUser() { try { objFillDD.Get_DDList(ref DDUser, "Id", "FirstName", "tbl_UserAccount", ref lblDgErr); DDUser.Items.Insert(0, "-- Select User --"); } catch (Exception ex) { lblDgErr.Text = (ex.Message); } } //GRIDVIEW MENU private void Fill_GVMenu() { lblDgErr.Text = ""; try { SqlDataAdapter adp = new SqlDataAdapter("Select MenuId,Text from Menu Where ParentID is NULL Order By MenuID Asc", con); adp.Fill(ds, "mnu2"); adp.Dispose(); GVMenu.DataSource = ds.Tables["mnu2"]; GVMenu.DataBind(); if (GVMenu.Rows.Count < 1) { lblDgErr.Text = "Menu Alert! : Zero Records in Database"; } else { lblDGCount.Text = GVMenu.Rows.Count.ToString(); objDash.Count_Total(ref lblDGCount, "Menuid", "Menu", "", ref lblDgErr); } } catch (Exception ex) { lblDgErr.Text = ("DL Alert! : " + ex.Message); } } protected void DGMenu_RowDataBound(object sender, GridViewRowEventArgs e) { string Dgid, result; try { if (e.Row.RowType == DataControlRowType.DataRow) { Dgid = ((Label)(e.Row.FindControl("DgID"))).Text; CheckBox chkDl = ((CheckBox)(e.Row.FindControl("chkDgId"))); DataList DL = ((DataList)(e.Row.FindControl("DLMenu"))); if ((con.State == ConnectionState.Open)) { con.Close(); } SqlCommand cmd = new SqlCommand("Select [" + Dgid + "] from tbl_SetPermission where UserId = " + DDUser.SelectedItem.Value + "", con); SqlDataReader dr; try { con.Open(); dr = cmd.ExecuteReader(); if (dr.Read()) { result = dr[Dgid].ToString().Trim(); if (result == "Yes") { chkDl.Checked = true; } else { chkDl.Checked = false; } } else { lblDgErr.Text = ("Alert! : No Record Found"); } } catch (Exception ex) { lblDgErr.Text = ("DL Alert! : " + ex.Message); } finally { con.Close(); } //Fill Sub Menu try { SqlDataAdapter adp = new SqlDataAdapter("Select MenuId As SubId, Text as SubText from Menu Where ParentID = " + Dgid + "", con); adp.Fill(ds, "mnu3"); adp.Dispose(); DL.DataSource = ds.Tables["mnu3"]; DL.DataBind(); ds.Tables["mnu3"].Clear(); } catch (Exception ex) { lblDgErr.Text = ("DL Alert! : " + ex.Message); } } } catch (Exception exp) { lblDgErr.Text = ("GV DataBound Alert! : " + exp.Message); } finally { if ((con.State == ConnectionState.Open)) { con.Close(); } } } //DATALIST SUB MENU protected void DLMenu_ItemDataBound(object sender, DataListItemEventArgs e) { string Dgid, result; try { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Dgid = ((Label)(e.Item.FindControl("DLId"))).Text; CheckBox chkDl = ((CheckBox)(e.Item.FindControl("chkDg"))); if ((con.State == ConnectionState.Open)) { con.Close(); } SqlCommand cmd = new SqlCommand("Select [" + Dgid + "] from tbl_SetPermission where UserId = " + DDUser.SelectedItem.Value + "", con); SqlDataReader dr; con.Open(); dr = cmd.ExecuteReader(); if (dr.Read()) { result = dr[Dgid].ToString().Trim(); if (result == "Yes") { chkDl.Checked = true; } else { chkDl.Checked = false; } } else { lblDgErr.Text = ("Alert! : No Record Found"); } } } catch (Exception exp) { lblDgErr.Text = ("DL DataBound Alert! : " + exp.Message); } finally { con.Close(); } } protected void btnSave_Click(object sender, EventArgs e) { try { int rows = GVMenu.Rows.Count; string result; con.Open(); for (int i = 0; i < rows; i++) { foreach (GridViewRow GVItem in GVMenu.Rows) { DataList DL = ((DataList)(GVMenu.Rows[i].FindControl("DLMenu"))); foreach (DataListItem DLitem in DL.Items) { Label Dgid1 = ((Label)(DLitem.FindControl("DLId"))); CheckBox chkSel = ((CheckBox)(DLitem.FindControl("chkDg"))); if (chkSel.Checked == true) { result = "Yes"; } else { result = "No"; } cmd = new SqlCommand("Update tbl_SetPermission set [" + Dgid1.Text + "] = '" + result + "' Where UserId = " + DDUser.SelectedItem.Value + "", con); cmd.ExecuteNonQuery(); lblDgErr.Text = "Data Updated Successfully"; } } } } catch (Exception exp) { lblDgErr.Text = ("DL Update Alert! : " + exp.Message); } finally { if ((con.State == ConnectionState.Open)) { con.Close(); } } } protected void btnReset_Click(object sender, EventArgs e) { try { int rows = GVMenu.Rows.Count; string result; con.Open(); for (int i = 0; i < rows; i++) { foreach (GridViewRow GVItem in GVMenu.Rows) { DataList DL = ((DataList)(GVMenu.Rows[i].FindControl("DLMenu"))); foreach (DataListItem DLitem in DL.Items) { Label Dgid1 = ((Label)(DLitem.FindControl("DLId"))); CheckBox chkSel = ((CheckBox)(DLitem.FindControl("chkDg"))); chkSel.Checked= false; } } } } catch (Exception exp) { lblDgErr.Text = ("DL Reset Alert! : " + exp.Message); } } protected void btnChkAll_Click(object sender, EventArgs e) { try { int rows = GVMenu.Rows.Count; string result; con.Open(); for (int i = 0; i < rows; i++) { foreach (GridViewRow GVItem in GVMenu.Rows) { DataList DL = ((DataList)(GVMenu.Rows[i].FindControl("DLMenu"))); foreach (DataListItem DLitem in DL.Items) { Label Dgid1 = ((Label)(DLitem.FindControl("DLId"))); CheckBox chkSel = ((CheckBox)(DLitem.FindControl("chkDg"))); chkSel.Checked = true; } } } } catch (Exception exp) { lblDgErr.Text = ("DL Reset Alert! : " + exp.Message); } } private void ShowHide_Button() { if (GVMenu.Rows.Count < 1) { btnSave.Visible = false; btnReset.Visible = false; btnChkAll.Visible = false; } else { btnSave.Visible = true; btnReset.Visible = true; btnChkAll.Visible = true; } } }