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); } } } } }