Files
YouTubeViewers/YouTubeViewers.WPF/ViewModels/YouTubeViewersDetailsViewModel.cs
2022-08-22 15:56:12 +02:00

43 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YouTubeViewers.WPF.Stores;
using YouTubeViewers.Domain.Models;
namespace YouTubeViewers.WPF.ViewModels
{
public class YouTubeViewersDetailsViewModel : ViewModelBase
{
private readonly SelectedYouTubeViewerStore _selectedYouTubeViewerStore;
private YouTubeViewer SelectedYouTubeViewer => _selectedYouTubeViewerStore.SelectedYouTubeViewer;
public bool HasSelectedYouTubeViewer => SelectedYouTubeViewer != null;
public string UserName => SelectedYouTubeViewer?.Username ?? "Unknown";
public string IsSubScribedDisplay => (SelectedYouTubeViewer?.IsSubscribed ?? false) ? "Yes" : "No";
public string IsMemberDisplay => (SelectedYouTubeViewer?.IsMember ?? false) ? "Yes" : "No";
public YouTubeViewersDetailsViewModel(SelectedYouTubeViewerStore selectedYouTubeViewerStore)
{
_selectedYouTubeViewerStore = selectedYouTubeViewerStore;
_selectedYouTubeViewerStore.SelectedYouTubeViewerChanged += SelectedYouTubeViewerStore_SelectedYouTubeViewerChanged;
}
protected override void Dispose()
{
_selectedYouTubeViewerStore.SelectedYouTubeViewerChanged -= SelectedYouTubeViewerStore_SelectedYouTubeViewerChanged;
base.Dispose();
}
private void SelectedYouTubeViewerStore_SelectedYouTubeViewerChanged()
{
OnPropertyChanged(nameof(HasSelectedYouTubeViewer));
OnPropertyChanged(nameof(UserName));
OnPropertyChanged(nameof(IsSubScribedDisplay));
OnPropertyChanged(nameof(IsMemberDisplay));
}
}
}