protected void btnSave_Click(object sender, EventArgs e) { foreach (RepeaterItem item in rptCruise.Items) { CheckBox chkPermission = (CheckBox)item.FindControl("chkPermission"); HiddenField hidCruiseRoleId = (HiddenField)item.FindControl("hidCruiseRoleId"); HiddenField hidCruiseId = (HiddenField)item.FindControl("hidCruiseId"); if (_role != null) { if (hidCruiseRoleId != null && !string.IsNullOrWhiteSpace(hidCruiseRoleId.Value) && !chkPermission.Checked) // Nếu có quyền và không có check { var permission = Module.GetById <IvRoleCruise>(Convert.ToInt32(hidCruiseRoleId.Value)); if (permission != null) { Module.Delete(permission); } } else if (hidCruiseRoleId != null && string.IsNullOrWhiteSpace(hidCruiseRoleId.Value) && chkPermission.Checked) { var roleCruise = new IvRoleCruise(); roleCruise.Role = _role; roleCruise.Cruise = Module.GetById <Cruise>(Convert.ToInt32(hidCruiseId.Value)); Module.SaveOrUpdate(roleCruise); } } else { if (chkPermission.Enabled)// Phải enable, tức là quyền theo user chứ không phải theo role { if (hidCruiseRoleId != null && !string.IsNullOrWhiteSpace(hidCruiseRoleId.Value) && !chkPermission.Checked) // Nếu có quyền và không có check { var permission = Module.GetById <IvRoleCruise>(Convert.ToInt32(hidCruiseRoleId.Value)); //if (permission != null) { Module.Delete(permission); } } else if (hidCruiseRoleId != null && string.IsNullOrWhiteSpace(hidCruiseRoleId.Value) && chkPermission.Checked) { var roleCruise = new IvRoleCruise(); roleCruise.User = _user; roleCruise.Cruise = Module.GetById <Cruise>(Convert.ToInt32(hidCruiseId.Value)); Module.SaveOrUpdate(roleCruise); } } } } PageRedirect(string.Format("SetPermission.aspx?NodeId={0}&SectionId={1}", Node.Id, Section.Id)); }
public IList <Cruise> CruiseGetByUser(User user) { if (user.HasPermission(AccessLevel.Administrator)) { return(CruiseGetAll2()); } else { var query = _session.QueryOver <Cruise>(); query = query.Where(x => x.Deleted == false); IvRoleCruise roleCruise = null; query = query.Left.JoinAlias(x => x.ListRoleCruises, () => roleCruise); query = query.Where(x => roleCruise.User == user || roleCruise.Role.IsIn(user.Roles)); return(query.TransformUsing(Transformers.DistinctRootEntity).List()); } }
protected void btnAssignUser_Click(object sender, EventArgs e) { UserSelector selector = (UserSelector)userSelector; if (selector.SelectedUserId > 0) { if (CurrentCruise != null) { User user = Module.UserGetById(selector.SelectedUserId); var listRoleBar = Module.IvRoleCruiseGetByCruiseId(Convert.ToInt32(Request.QueryString["cruiseid"])); var check = false; foreach (IvRoleCruise roleBarCruise in listRoleBar) { if (roleBarCruise.User.Id == user.Id) { check = true; break; } } if (check) { lblMsg.Text = ("User này đã được phân vào " + CurrentCruise.Name); } else { var roleBar = new IvRoleCruise { User = user, Cruise = CurrentCruise }; Module.SaveOrUpdate(roleBar); GetBarUser(); } } else { lblMsg.Text = ("Phải chọn tàu"); } } else { lblMsg.Text = ("Phải chọn user trước"); } }