// Overridable hub methods
        public override Task OnDisconnected(bool stopCalled)
        {
            var uid = Context.ConnectionId;
            UserTrackingModel user = Users.Find(x => x.UserId == uid);
            var productId          = user.ProductId;

            Users.Remove(user);
            CurrentlyViewing(productId);
            return(null);
        }
        // User Actions
        public void LoadedPage(int id)
        {
            var uid = Context.ConnectionId;
            UserTrackingModel user = Users.Find(x => x.UserId == uid);

            if (user == null)
            {
                user = new UserTrackingModel {
                    UserId = uid, ProductId = id
                };
                Users.Add(user);
            }
            else
            {
                user.ProductId = id;
            }

            CurrentlyViewing(id);
        }