Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
        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);
        }