Application anyhow ready and functioning

This commit is contained in:
2022-08-24 21:55:34 +02:00
parent 7806f2e85d
commit 100b40d212
2 changed files with 27 additions and 5 deletions

View File

@ -14,9 +14,15 @@ namespace YouTubeViewers.WPF.Stores
public SelectedYouTubeViewerStore(YouTubeViewersStore youTubeViewersStore) public SelectedYouTubeViewerStore(YouTubeViewersStore youTubeViewersStore)
{ {
_youTubeViewersStore = youTubeViewersStore; _youTubeViewersStore = youTubeViewersStore;
_youTubeViewersStore.YouTubeViewerAdded += YouTubeViewersStore_YouTubeViewerAdded;
_youTubeViewersStore.YouTubeViewerUpdated += YouTubeViewersStore_YouTubeViewerUpdated; _youTubeViewersStore.YouTubeViewerUpdated += YouTubeViewersStore_YouTubeViewerUpdated;
} }
private void YouTubeViewersStore_YouTubeViewerAdded(YouTubeViewer youTubeViewer)
{
SelectedYouTubeViewer=youTubeViewer;
}
private void YouTubeViewersStore_YouTubeViewerUpdated(YouTubeViewer youTubeViewer) private void YouTubeViewersStore_YouTubeViewerUpdated(YouTubeViewer youTubeViewer)
{ {
if (youTubeViewer.Id == SelectedYouTubeViewer?.Id) if (youTubeViewer.Id == SelectedYouTubeViewer?.Id)

View File

@ -20,16 +20,18 @@ namespace YouTubeViewers.WPF.ViewModels
public IEnumerable<YouTubeViewersListingItemViewModel> YouTubeViewersListingItemViewModels => _youtubeViewersListingItemViewModels; public IEnumerable<YouTubeViewersListingItemViewModel> YouTubeViewersListingItemViewModels => _youtubeViewersListingItemViewModels;
private YouTubeViewersListingItemViewModel _selectedYouTubeViewerListingItemViewModel; //private YouTubeViewersListingItemViewModel _selectedYouTubeViewerListingItemViewModel;
public YouTubeViewersListingItemViewModel SelectedYouTubeViewerListingItemViewModel public YouTubeViewersListingItemViewModel SelectedYouTubeViewerListingItemViewModel
{ {
get { return _selectedYouTubeViewerListingItemViewModel; } get {
return _youtubeViewersListingItemViewModels
.FirstOrDefault(y => y.YouTubeViewer?.Id == _selectedYouTubeViewerStore.SelectedYouTubeViewer?.Id);
}
set set
{ {
_selectedYouTubeViewerListingItemViewModel = value;
OnPropertyChanged(nameof(SelectedYouTubeViewerListingItemViewModel)); _selectedYouTubeViewerStore.SelectedYouTubeViewer = value?.YouTubeViewer;
_selectedYouTubeViewerStore.SelectedYouTubeViewer = _selectedYouTubeViewerListingItemViewModel?.YouTubeViewer;
} }
} }
@ -46,13 +48,25 @@ namespace YouTubeViewers.WPF.ViewModels
_modalNavigationStore = modalNavigationStore; _modalNavigationStore = modalNavigationStore;
_youtubeViewersListingItemViewModels = new ObservableCollection<YouTubeViewersListingItemViewModel>(); _youtubeViewersListingItemViewModels = new ObservableCollection<YouTubeViewersListingItemViewModel>();
_selectedYouTubeViewerStore.SelectedYouTubeViewerChanged += _selectedYouTubeViewerStore_SelectedYouTubeViewerChanged;
_youTubeViewersStore.YouTubeViewersLoaded += _youTubeViewersStore_YouTubeViewersLoaded; _youTubeViewersStore.YouTubeViewersLoaded += _youTubeViewersStore_YouTubeViewersLoaded;
_youTubeViewersStore.YouTubeViewerAdded += YouTubeViewersStore_YouTubeViewerAdded; _youTubeViewersStore.YouTubeViewerAdded += YouTubeViewersStore_YouTubeViewerAdded;
_youTubeViewersStore.YouTubeViewerUpdated += YouTubeViewersStore_YouTubeViewerUpdated; _youTubeViewersStore.YouTubeViewerUpdated += YouTubeViewersStore_YouTubeViewerUpdated;
_youTubeViewersStore.YouTubeViewerDeleted += YouTubeViewersStore_YouTubeViewerDeleted; _youTubeViewersStore.YouTubeViewerDeleted += YouTubeViewersStore_YouTubeViewerDeleted;
_youtubeViewersListingItemViewModels.CollectionChanged += _youtubeViewersListingItemViewModels_CollectionChanged;
} }
private void _youtubeViewersListingItemViewModels_CollectionChanged(object? sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
OnPropertyChanged(nameof(SelectedYouTubeViewerListingItemViewModel));
}
private void _selectedYouTubeViewerStore_SelectedYouTubeViewerChanged()
{
OnPropertyChanged(nameof(SelectedYouTubeViewerListingItemViewModel));
}
private void _youTubeViewersStore_YouTubeViewersLoaded() private void _youTubeViewersStore_YouTubeViewersLoaded()
{ {
@ -78,6 +92,8 @@ namespace YouTubeViewers.WPF.ViewModels
protected override void Dispose() protected override void Dispose()
{ {
_selectedYouTubeViewerStore.SelectedYouTubeViewerChanged -= _selectedYouTubeViewerStore_SelectedYouTubeViewerChanged;
_youTubeViewersStore.YouTubeViewersLoaded -= _youTubeViewersStore_YouTubeViewersLoaded; _youTubeViewersStore.YouTubeViewersLoaded -= _youTubeViewersStore_YouTubeViewersLoaded;
_youTubeViewersStore.YouTubeViewerAdded -= YouTubeViewersStore_YouTubeViewerAdded; _youTubeViewersStore.YouTubeViewerAdded -= YouTubeViewersStore_YouTubeViewerAdded;
_youTubeViewersStore.YouTubeViewerUpdated -= YouTubeViewersStore_YouTubeViewerUpdated; _youTubeViewersStore.YouTubeViewerUpdated -= YouTubeViewersStore_YouTubeViewerUpdated;