Exemple #1
0
        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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
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, "发生未处理的异常,请刷新页面重新操作,或者联系系统管理员");
        }
    }
Exemple #5
0
        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 }));
        }
Exemple #6
0
        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);
            });
        }
Exemple #7
0
        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"));
 }
Exemple #9
0
 public UserGroup NewProperties() => UserGroup.Create();