public void AssignUsersToGroup(List <int> userIds, string name) { var newUserGroups = new List <UserGroup>(); var grp = GetGroup(name); if (null == grp) { return; } var userGroups = UserGroup.Create(grp.GroupID, userIds); foreach (var userGroup in userGroups) { var exists = Context.UserGroups.Any(x => x.GroupID == userGroup.GroupID && x.UserID == userGroup.UserID); if (!exists) { newUserGroups.Add(userGroup); } } if (newUserGroups.Count > 0) { Context.AddRange(newUserGroups); Context.SaveChanges(); } }
public InsertResult Insert(InsertClientDto dto) { var insertResult = new InsertResult(); //1) try create admin-user without client insertResult.identityResult = this.AddUser(null, dto); if (insertResult.identityResult.Succeeded) { //2) create client var client = Client.Create(ApplicationUser); client.Update(ApplicationUser, dto); uow.Client.Add(client); uow.SaveChanges(); insertResult.clientId = client.id; //3) reference newly created admin-user to created client var succeededUser = UserManager.Users.FirstOrDefault(u => u.UserName == dto.userName); succeededUser.client_id = client.id; UserManager.Update(succeededUser); //4) create Standard UserGroup var userGroup = UserGroup.Create(ApplicationUser, client.id); userGroup.name = client.name + "-Standard"; userGroup.userRoles = ControllerBase.NonAdminRoleNames; uow.UserGroup.Add(userGroup); uow.SaveChanges(); } return(insertResult); }
public async Task <bool> InsertStudentAsync(Guid groupId, Guid studentId) { User user = await _context.Users.FirstOrDefaultAsync(u => u.Id == studentId); if (user.Id != studentId) { return(false); } Role studentRole = await _context.Roles.FirstOrDefaultAsync(role => role.Name.Equals(RoleConstants.StudentRoleName)); UserRole isStudent = await _context.UserRoles.FirstOrDefaultAsync(ur => ur.UserId == studentId && ur.RoleId == studentRole.Id); if (isStudent.UserId != studentId) { return(false); } var group = await _context.UserGroups.FirstOrDefaultAsync((g => g.GroupId.Equals(groupId) && g.UserId.Equals(studentId))); if (@group != null && @group.IsDeleted) { group.IsDeleted = false; _context.UserGroups.Update(group); return(await _context.SaveChangesAsync() > 0); } else { _context.UserGroups.Add(UserGroup.Create(studentId, groupId)); return(await _context.SaveChangesAsync() > 0); } }
//Save Data private void SaveData() { UserGroup userGroup = new UserGroup(); bool flag = true; try { userGroup.ParentId = UserGroup.Root.GroupId; userGroup.Name = txtName.Text.Trim(); userGroup.Description = txtDescription.Text.Trim(); userGroup.GroupType = (UserGroupType)Enum.Parse(typeof(UserGroupType), rblGroupType.SelectedValue); userGroup.GroupLevel = (short)(UserGroup.Root.GroupLevel + 1); userGroup.ModifyBy = SecuritySession.CurrentUser.UserId; userGroup.ModifyTime = DateTime.Now; using (_session = new Session()) { if (IsAddNew()) { userGroup.CreateTime = userGroup.ModifyTime; userGroup.CreateBy = SecuritySession.CurrentUser.UserId; flag = userGroup.Create(_session); } else { userGroup.GroupId = int.Parse(this.txtGroupId.Value); flag = userGroup.Update(_session, "ParentId", "Name", "Description", "GroupType", "GroupLevel", "ModifyBy", "ModifyTime"); } } this.txtGroupId.Value = userGroup.GroupId.ToString(); if (flag) { WebUtil.ShowMsg(this, "操作成功", "提示"); } else { WebUtil.ShowMsg(this, "操作失败", "提示"); } } catch (UnauthorizedException ex) { WebUtil.ShowMsg(this, ex.Message, "警告"); } catch (ApplicationException ex) { WebUtil.ShowMsg(this, ex.Message, "提示"); } catch (Exception ex) { logger.Info("保存UserGroup", ex); WebUtil.ShowMsg(this, "发生未处理的异常,请刷新页面重新操作,或者联系系统管理员"); } }
public async Task <IActionResult> AddUserGroup(UserGroup group) { group.Create(Request.RequestUser().UserId); await _userBll.AddGroupAsync(group); //日志 await _logBll.AddAsync( Request.RequestUser().UserId, Request.RequestUser().UserName + "添加了项目用户组:" + group.Name, Json.Serialize(group), group.ProjectId ); return(new JsonResult(new { success = true })); }
public void Given_UserGroup_When_DeleteUserGroupAsync_Then_ShouldBeTrue() { RunOnDatabase(context => { // ARRANGE context.Roles.Add(Role.Create("student")); context.SaveChanges(); var userType = context.Roles.FirstOrDefault(); if (userType != null) { context.Users.Add(User.Create("User first name", "User last name", "User1", "*****@*****.**", "parola")); } context.SaveChanges(); var user = context.Users.FirstOrDefault(); if (user == null) { return; } context.Groups.Add(Group.Create("Grup", "Grup mare", user.Id)); context.SaveChanges(); var group = context.Groups.FirstOrDefault(); var userGroupRepository = new UserGroupsRepository(context); if (@group != null) { var userGroup = UserGroup.Create(user.Id, @group.Id); context.Add(userGroup); } context.SaveChanges(); // ACT if (@group == null) { return; } var result = userGroupRepository.DeleteUserGroupAsync(user.Id, @group.Id); // ASSERT result.Result.Should().Be(true); }); }
public void Given_UserGroups_When_NewUserGroupIsAdded_Then_ShouldHaveOneUserGroupInDatabase() { RunOnDatabase(context => { // ARRANGE context.Roles.Add(Role.Create("student")); context.SaveChanges(); var userType = context.Roles.FirstOrDefault(); if (userType != null) { context.Users.Add(User.Create("User first name", "User last name", "User1", "*****@*****.**", "parola")); } context.SaveChanges(); var user = context.Users.FirstOrDefault(); if (user == null) { return; } context.Groups.Add(Group.Create("Grup", "Grup mare", user.Id)); context.SaveChanges(); var group = context.Groups.FirstOrDefault(); var userGroupRepository = new UserGroupsRepository(context); if (@group == null) { return; } var userGroup = UserGroup.Create(user.Id, @group.Id); var insertedUserGroup = userGroupRepository.InsertUserGroupAsync(userGroup).Result; // ACT var result = userGroupRepository.GetUserGroupAsync(insertedUserGroup.UserId, insertedUserGroup.GroupId); // ASSERT result.Should().NotBe(null); }); }
public ActionResult Create([Bind(Include = "UserGroupName")] UserGroup userGroup) { userGroup.Create(userGroup.UserGroupName); return(RedirectToAction("UserGroup")); }
public UserGroup NewProperties() => UserGroup.Create();