Пример #1
0
        public async Task RemoveUserFromGroup(GroupUserRequest request)
        {
            try
            {
                var result = await _chatService.RemoveUserFromGroup(Context.UserIdentifier, request.Group, request.User);

                ChatResponse response = new ChatResponse();
                if (result.Success)
                {
                    response.Type = ChatResponseType.UpdateGroupView;
                    response.Data = result.Data;
                    await SendResponseToGroup(request.Group, response);
                    await GroupUserConnection(request.Group, request.User, false);
                }
                else
                {
                    response.Type = ChatResponseType.SystemErrorMessage;
                    response.Data = result.Message;
                    await SendResponseToCaller(response);
                }
            }
            catch (Exception)
            {
            }
        }
        private Negotiator ValidateGroupUserRequest(GroupUserRequest groupUserRequest)
        {
            if (string.IsNullOrWhiteSpace(groupUserRequest.SubjectId))
            {
                return(CreateFailureResponse("subjectId is required", HttpStatusCode.BadRequest));
            }

            return(string.IsNullOrWhiteSpace(groupUserRequest.IdentityProvider)
                ? CreateFailureResponse("identityProvider is required", HttpStatusCode.BadRequest)
                : null);
        }
Пример #3
0
        public async Task <GroupUserApiModel> DeleteUserFromGroup(string accessToken, string groupName, GroupUserRequest user)
        {
            var message = new HttpRequestMessage(HttpMethod.Delete,
                                                 new GroupRouteBuilder().Name(groupName).GroupUsersRoute)
                          .AddContent(user)
                          .AddAcceptHeader()
                          .AddBearerToken(accessToken);

            return(await SendAndParseJson <GroupUserApiModel>(message).ConfigureAwait(false));
        }