public override async Task <RemoveUserFromGroupResponse> RemoveUserFromGroup(RemoveUserFromGroupRequest request, ServerCallContext context) { GroupDetailResponse groupDetailResponse = new GroupDetailResponse { }; Guid userId = new Guid(request.UserId); AppUser user = await _authDbContext.Users .SingleAsync(u => u.Id == userId); Guid groupId = new Guid(request.GroupId); UserGroup userGroup = await _authDbContext.UserGroup .Include(ug => ug.Members) .SingleAsync(g => g.Id == groupId); userGroup.Members.Remove(user); await _authDbContext.SaveChangesAsync(); return(new RemoveUserFromGroupResponse { Success = true }); }
public override async Task <GroupDetailResponse> GetGroupDetails(GroupDetailRequest request, ServerCallContext context) { GroupDetailResponse groupDetailResponse = new GroupDetailResponse { }; Guid groupId = new Guid(request.Id); UserGroup userGroup = await _authDbContext.UserGroup .Include(ug => ug.Members) .SingleAsync(ug => ug.Id == groupId); groupDetailResponse.Name = userGroup.Name; foreach (AppUser user in userGroup.Members) { GroupMember groupMember = new GroupMember { Id = user.Id.ToString(), Name = user.UserName }; groupDetailResponse.Members.Add(groupMember); } return(groupDetailResponse); }