/// <summary>
 /// Adding the permission
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnAddPerm_Click(object sender, System.EventArgs e)
 {
     try
     {
         perm2 = new clsPermissions();
         perm2.cAction = "U";
         perm2.iId = 0;
         perm2.sName = tbAddPermName.Text;
         perm2.sCode = tbAddPermCode.Text;
         tbAddPermName.Text = "";
         tbAddPermCode.Text = "";
         if(perm2.PermissionDetail() == -1)
         {
             Session["lastpage"] = "admin_permissions.aspx";
             Session["error"] = _functions.ErrorMessage(116);
             Response.Redirect("error.aspx", false);
             return;
         }
         ShowPermissions();
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = "admin_permissions.aspx";
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(perm2 != null)
             perm2.Dispose();
     }
 }
        /// <summary>
        /// Processing the permissions for the select, the edit and the removing
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        private void dgPermissions_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            try
            {
                switch(e.CommandName)
                {
                    case "Select":
                        Response.Redirect("admin_permission_detail.aspx?id=" + e.Item.Cells[1].Text, false);
                        break;
                    case "Delete":
                        perm2 = new clsPermissions();
                        perm2.cAction = "D";
                        perm2.iId = Convert.ToInt32(e.Item.Cells[1].Text);
                        if(perm2.PermissionDetail() == -1)
                        {
                            Session["lastpage"] = "admin_permissions.aspx";
                            Session["error"] = _functions.ErrorMessage(116);
                            Response.Redirect("error.aspx", false);
                            return;
                        }
                        dgPermissions.EditItemIndex = -1;
                        ShowPermissions();
                        break;
                    case "Cancel":
                        rfvAddNewPermCode.Enabled = true;
                        rfvAddNewPermName.Enabled = true;
                        btnAddPerm.Enabled = true;
                        dgPermissions.EditItemIndex = -1;
                        ShowPermissions();
                        break;
                    case "Edit":
                        rfvAddNewPermCode.Enabled = false;
                        rfvAddNewPermName.Enabled = false;
                        btnAddPerm.Enabled = false;
                        dgPermissions.EditItemIndex = e.Item.ItemIndex;
                        ShowPermissions();
                        break;
                    case "Update":
                        rfvAddNewPermCode.Enabled = true;
                        rfvAddNewPermName.Enabled = true;
                        btnAddPerm.Enabled = true;
                        perm2 = new clsPermissions();
                        perm2.cAction = "U";
                        perm2.iId = Convert.ToInt32(((Label)e.Item.FindControl("lblEditId")).Text);
                        perm2.sName = ((TextBox)e.Item.FindControl("tbNameEdit")).Text;
                        if(perm2.PermissionDetail() == -1)
                        {
                            Session["lastpage"] = "admin_permissions.aspx";
                            Session["error"] = _functions.ErrorMessage(116);
                            Response.Redirect("error.aspx", false);
                            return;
                        }

                        dgPermissions.EditItemIndex = -1;
                        ShowPermissions();
                        break;
                    default:
                        break;
                }
            }
            catch(Exception ex)
            {
                _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
                Session["lastpage"] = "admin_permissions.aspx";
                Session["error"] = ex.Message;
                Session["error_report"] = ex.ToString();
                Response.Redirect("error.aspx", false);
            }
            finally
            {
                if(perm2 != null)
                    perm2.Dispose();
            }
        }
 private void Page_Load(object sender, System.EventArgs e)
 {
     try
     {
         if(Request.QueryString["id"] == null)
         {
             Session["lastpage"] = "admin_permissions.aspx";
             Session["error"] = _functions.ErrorMessage(104);
             Response.Redirect("error.aspx", false);
             return;
         }
         try
         {
             PermId=Convert.ToInt32(Request.QueryString["id"]);
         }
         catch(FormatException fex)
         {
             Session["lastpage"] = "admin_permissions.aspx";
             Session["error"] = _functions.ErrorMessage(105);
             Response.Redirect("error.aspx", false);
             return;
         }
         lblBack.Text = "<input type=button value=\" Back \" onclick=\"document.location='admin_permissions.aspx'\">";
         if(!IsPostBack)
         {
             perm = new clsPermissions();
             perm.iId = PermId;
             perm.cAction = "S";
             if(perm.PermissionDetail() == -1)
             {
                 Session["lastpage"] = "admin_permission_detail.aspx?id=" + PermId.ToString();
                 Session["error"] = _functions.ErrorMessage(116);
                 Response.Redirect("error.aspx", false);
                 return;
             }
             lblPermCode.Text = perm.sCode.Value;
             lblPermName.Text = perm.sName.Value;
             dsPages = perm.GetPagesListFromPermission();
             dgPages.DataSource = new DataView(dsPages.Tables["Table"]);
             dgPages.DataBind();
             if(dsPages.Tables["Table1"].Rows.Count > 0)
             {
                 ddlNewPages.DataTextField = "vchPageName";
                 ddlNewPages.DataValueField = "Id";
                 ddlNewPages.DataSource = new DataView(dsPages.Tables["Table1"]);
                 ddlNewPages.DataBind();
             }
             else
             {
                 ddlNewPages.Items.Add(new ListItem("<none>", "0"));
                 btnAddPage.Enabled = false;
             }
         }
     }
     catch(Exception ex)
     {
         _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName);
         Session["lastpage"] = ParentPageURL;
         Session["error"] = ex.Message;
         Session["error_report"] = ex.ToString();
         Response.Redirect("error.aspx", false);
     }
     finally
     {
         if(perm != null)
             perm.Dispose();
     }
 }