/// <summary> /// This method inserts a new record in the table. /// Change this method to alter how records are inserted. /// </summary> /// <param name=entity>entity</param> public void Insert(PackageFunction entity) { DbContext.PackageFunctions.InsertOnSubmit(entity); DbContext.SubmitChanges(); var rManager = new RolesManager(this); IQueryable <Role> queryAdminRoles = (from companies in DbContext.Companies join roles in DbContext.Roles on companies.CompanyId equals roles.CompanyId join plan in DbContext.Plans on companies.PlanId equals plan.PlanId where plan.PackageId == entity.PackageId && roles.Name.Contains("Admin") select roles); List <Role> listAdminRoles = queryAdminRoles.ToList(); var permissionManager = new PermissionManager(this); foreach (Role role in listAdminRoles) { if (permissionManager.GetPermission(entity.FunctionId, role.RoleId, role.CompanyId) == null) { var permission = new Permission(); permission.CompanyId = role.CompanyId; permission.FunctionId = entity.FunctionId; permission.PermissionTypeId = (int)AccessControlActions.Change; permission.RoleId = role.RoleId; permissionManager.Insert(permission); } } }
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); } } } } }