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);
        }