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); } } } } }
/// <summary> /// Method to create a permission /// </summary> /// <param name="planId"></param> /// <param name="roleId"></param> /// <param name="companyId"></param> private void CreatePermissions(int planId, int roleId, int companyId) { var permissionManager = new PermissionManager(this); var functionManager = new FunctionManager(this); IList<Function> functions = functionManager.GetFunctionsByPlan(planId); foreach (Function function in functions) { //Below the line was changed to give the new object Permission //to method permissionManager.Insert an object each time it is called var newPermission = new Permission(); newPermission.FunctionId = function.FunctionId; newPermission.PermissionTypeId = (int)AccessControlActions.Change; newPermission.RoleId = roleId; newPermission.CompanyId = companyId; permissionManager.Insert(newPermission); } }