public async Task JoinGroup(string padId, string nickname) { await Groups.AddToGroupAsync(Context.ConnectionId, padId); var user = new CodePadUser(Context.ConnectionId, nickname); _sharedPadService.AddPadUser(padId, user); await Clients.Group(padId).SendAsync("Join", user); }
public bool AddPadUser(string padId, CodePadUser user) { var users = _memoryCache.Get <Dictionary <string, CodePadUser> >($"{UsersEntry}{padId}"); if (!users.ContainsKey(user.Id)) { users.Add(user.Id, user); _memoryCache.Set($"{UsersEntry}{padId}", users); return(true); } return(false); }