public void updatePermission()
    {
       

        foreach (GridViewRow row in grdFunctions.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                newPermission = new Permission();
                newPermission.FunctionId = Convert.ToInt32(grdFunctions.DataKeys[row.RowIndex]["FunctionId"]);
                newPermission.RoleId = Convert.ToInt32(Page.ViewState["RoleId"]);
                newPermission.CompanyId = Page.Company.CompanyId;

                CheckBox chkRead = (CheckBox)row.Cells[1].FindControl("chkRead");
                CheckBox chkWrite = (CheckBox)row.Cells[2].FindControl("chkWrite");

                if (chkRead.Checked)
                    newPermission.PermissionTypeId = 1;

                if (chkWrite.Checked)
                    newPermission.PermissionTypeId = 2;

                using (permissionManager = new PermissionManager(null))
                {
                    permission = permissionManager.GetPermission(newPermission.FunctionId, newPermission.RoleId, newPermission.CompanyId);
                    if (chkRead.Checked || chkWrite.Checked)
                    {
                        permissionManager.InsertVerifying(permission, newPermission);
                    }
                    else if (permission != null)
                    {
                        permissionManager.Delete(permission);
                    }
                }
            }
        }
    }