private void OnAddComment() { ServerService.instance.Socket.Off("addComment"); ServerService.instance.Socket.On("addComment", new CustomListener((object[] server_params) => { Application.Current.Dispatcher.Invoke(() => { dynamic data = JObject.Parse(server_params[0].ToString()); ImageComment newComment = new ImageComment() { imageId = data["ImageId"], userId = data["UserId"], comment = data["Comment"], timestamp = data["Timestamp"], userName = data["UserName"], profileImage = data["ProfileImage"] }; this.Comments.Children.Insert(0, new GalleryComment(newComment)); Gallery currentGallery = ((MainWindow)Application.Current.MainWindow).Gallery; currentGallery.CheckOrUncheckLikeButton(); }); })); }
private void OnPreviewImage() { ServerService.instance.Socket.Off("previewImage"); ServerService.instance.Socket.On("previewImage", new CustomListener((dynamic[] server_params) => { Application.Current.Dispatcher.Invoke(() => { dynamic data = JObject.Parse(server_params[0].ToString()); this.ImageId = data["id"]; this.Likes.Clear(); this.Comments.Children.Clear(); for (int i = 0; i < data["likes"]?.Count; i++) { this.Likes.Add(new ImageLike() { imageId = data["likes"][i]["ImageId"], userId = data["likes"][i]["UserId"] }); } for (int i = 0; i < data["comments"]?.Count; i++) { ImageComment comment = new ImageComment() { imageId = data["comments"][i]["ImageId"], userId = data["comments"][i]["UserId"], comment = data["comments"][i]["Comment"], timestamp = data["comments"][i]["Timestamp"], userName = data["comments"][i]["UserName"], profileImage = data["comments"][i]["ProfileImage"] }; this.Comments.Children.Add(new GalleryComment(comment)); } Gallery currentGallery = ((MainWindow)Application.Current.MainWindow).Gallery; currentGallery.CheckOrUncheckLikeButton(); }); })); }