private async void CommentReplyButton_Click(object sender, RoutedEventArgs e)
        {
            if (sender is Button button)
            {
                if (button.Tag is ReviewCommentViewModel reviewCommentVM)
                {
                    //var editWindow = new ModalOkCancelWindow();
                    //editWindow.Width = 500;
                    //editWindow.Height = 280;
                    var editWindow = EditPanel;
                    var content    = new CommentEditControl();

                    content.Header     = "Reply to Comment";
                    content.SubmitText = "Reply";

                    if (content.DataContext is CommentViewModel editVM)
                    {
                        editVM.Model = new CommentModel(ViewModel.CurrentUserModel);

                        editWindow.ModalContent = content;
                        if (editWindow.ShowDialog() == true)
                        {
                            await reviewCommentVM.AddCommentAsync(editVM.Model);
                        }
                    }
                }
            }
        }
        private async void CommentEditButton_Click(object sender, RoutedEventArgs e)
        {
            if (sender is Button button)
            {
                if (button.DataContext is ReviewCommentViewModel reviewComment)
                {
                    //var editWindow = new ModalOkCancelWindow();
                    //editWindow.Width = 500;
                    //editWindow.Height = 600;
                    var editWindow = EditPanel;
                    var content    = new ReviewCommentEditControl();

                    if (content.DataContext is ReviewCommentViewModel editVM)
                    {
                        editVM.UpdateSource(new ReviewCommentModel());
                        editVM.Model.CopyFrom(reviewComment.Model);
                        //editVM.Model.CommentReviewVotes = new ObservableCollection<ReviewVoteModel>(reviewComment.Model.CommentReviewVotes.ToList());
                        editVM.Review = reviewComment.Review;
                        await editVM.Refresh();

                        editWindow.ModalContent = content;
                        if (editWindow.ShowDialog() == true)
                        {
                            reviewComment.Model.CopyFrom(editVM.Model);
                            await reviewComment.SaveChanges();
                        }
                    }
                }
                else if (button.DataContext is CommentViewModel comment)
                {
                    //var editWindow = new ModalOkCancelWindow();
                    //editWindow.Width = 500;
                    //editWindow.Height = 280;
                    var editWindow = EditPanel;
                    var content    = new CommentEditControl();

                    if (content.DataContext is CommentViewModel editVM)
                    {
                        editVM.Model = new CommentModel();
                        editVM.Model.CopyFrom(comment.Model);

                        editWindow.ModalContent = content;
                        if (editWindow.ShowDialog() == true)
                        {
                            comment.Model.CopyFrom(editVM.Model);
                            await comment.SaveChanges();
                        }
                    }
                }
            }
        }