public override async Task OnConnectedAsync() { var httpContext = Context.GetHttpContext(); var otherUser = httpContext.Request.Query["user"].ToString(); var groupName = GetGroupName(Context.User.GetUsername(), otherUser); await Groups.AddToGroupAsync(Context.ConnectionId, groupName); var group = await AddToGroup(groupName); await Clients.Group(groupName).SendAsync("UpdatedGroup", group); var messages = await _unityOfWork.MessageRepository.GetMessageThread(Context.User.GetUsername(), otherUser); if (_unityOfWork.HasChanges()) { await _unityOfWork.Complete(); } await Clients.Caller.SendAsync("ReceiveMessageThread", messages); }