public void AddUsers(UsersListViewComponentViewModel inputModel, string groupId) { List <string> usersInGroup = this.context.GroupUsers .Where(gu => gu.GroupId == groupId) .Select(gu => gu.User.UserName).ToList(); IEnumerable <string> userIds = inputModel.SelectedUsers .Except(usersInGroup) .Select(u => this.userManager.Users.FirstOrDefault(x => x.Email == u).Id); List <GroupUser> groupUsers = new List <GroupUser>(); foreach (var id in userIds) { GroupUser groupUser = new GroupUser { GroupId = groupId, UserId = id, CreatedOn = DateTime.UtcNow, }; groupUsers.Add(groupUser); } this.context.GroupUsers.AddRange(groupUsers); this.context.SaveChanges(); }
public IViewComponentResult Invoke() { UsersListViewComponentViewModel viewModel = new UsersListViewComponentViewModel { MultiSelectUsers = this.groupsService.ListAllUsers() }; return(this.View(viewModel)); }
public IActionResult Details(UsersListViewComponentViewModel inputModel, string id) { if (!ModelState.IsValid) { string userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; GroupDetailsViewModel groupDetails = this.groupsService.GetGroupDetails(id, userId); return(this.View(groupDetails)); } this.groupsService.AddUsers(inputModel, id); return(this.RedirectToAction("List")); }