// GET: GroupController public async Task <IActionResult> Index(int id) { var bannedUsers = _context.UserAndGroups .Where(t => t.IsBanned && t.GroupId == id) .Select(t => t.UserId) .ToList(); if (!bannedUsers.Contains(UserIdGetting())) { var group = _context.Groups.Find(id); var usersId = _context.UserAndGroups .Where(p => p.GroupId == group.Id && !p.IsBanned) .Select(t => t.UserId) .ToList(); var users = _context.Users.Where(p => usersId.Contains(p.Id)).ToList(); users.Add(await _context.Users.FindAsync(group.AdminId)); var model = new UserInGroups() { Group = group, Users = users }; return(View(model)); } else { return(Redirect("/Home")); } }
public void AddUserInGroup(int id, string name) { UserInGroups.Add(new UserInGroup { GroupId = id, UserName = name }); SaveChanges(); }
public override async Task <AppDomainResult> Register([FromBody] RegisterModel register) { AppDomainResult appDomainResult = new AppDomainResult(); if (ModelState.IsValid) { // Kiểm tra định dạng user name bool isValidUser = ValidateUserName.IsValidUserName(register.UserName); if (!isValidUser) { throw new AppException("Vui lòng nhập số điện thoại hoặc email!"); } var user = new Users() { UserName = register.UserName, Password = register.Password, Created = DateTime.Now, CreatedBy = register.UserName, Active = true, Phone = ValidateUserName.IsPhoneNumber(register.UserName) ? register.UserName : string.Empty, Email = ValidateUserName.IsEmail(register.UserName) ? register.UserName : string.Empty, UserInGroups = new List <UserInGroups>(), }; // Tạo mặc định trong group User var groupUserInfos = await userGroupService.GetAsync(e => e.Code == CoreContants.USER_GROUP); if (groupUserInfos != null && groupUserInfos.Any()) { UserInGroups userInGroups = new UserInGroups() { UserGroupId = groupUserInfos.FirstOrDefault().Id, Created = DateTime.Now, CreatedBy = register.UserName, Deleted = false, Active = true, }; user.UserInGroups.Add(userInGroups); } // Kiểm tra item có tồn tại chưa? var messageUserCheck = await this.userService.GetExistItemMessage(user); if (!string.IsNullOrEmpty(messageUserCheck)) { throw new AppException(messageUserCheck); } user.Password = SecurityUtils.HashSHA1(register.Password); appDomainResult.Success = await userService.CreateAsync(user); appDomainResult.ResultCode = (int)HttpStatusCode.OK; } else { var resultMessage = ModelState.GetErrorMessage(); throw new AppException(resultMessage); } return(appDomainResult); }
public List <string> UsersByGroup(int id) => (from user in UserInGroups.ToList() where user.GroupId == id select user.UserName).ToList();
private List <int> GroupIdByUser(string name) => (from item in UserInGroups.ToList() where item.UserName == name select item.GroupId).ToList();