deleted still shows on the details panel
This commit is contained in:
@@ -16,12 +16,11 @@ namespace Apollon.WPF.ViewModels
|
||||
private readonly ObservableCollection<OverviewListingItemViewModel> _overviewListingItemViewModels;
|
||||
private readonly SelectedTournamentsStore _selectedTournamentStore;
|
||||
private readonly ModalNavigationStore _modalNavigationStore;
|
||||
private readonly TournamentsStore _tournamentStore;
|
||||
|
||||
private readonly TournamentsStore _tournamentStore;
|
||||
|
||||
public IEnumerable<OverviewListingItemViewModel> OverviewListingItemViewModels => _overviewListingItemViewModels;
|
||||
|
||||
private OverviewListingItemViewModel _selectedOverviewListingItemViewModel;
|
||||
private OverviewListingItemViewModel _selectedOverviewListingItemViewModel;
|
||||
|
||||
public OverviewListingItemViewModel SelectedOverviewListingItemViewModel
|
||||
{
|
||||
@@ -38,6 +37,8 @@ namespace Apollon.WPF.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand LoadTournamentsCommand { get;}
|
||||
|
||||
public OverviewListingViewModel(SelectedTournamentsStore selectedTournamentStore, ModalNavigationStore modalNavigationStore, TournamentsStore tournamentStore)
|
||||
{
|
||||
_tournamentStore = tournamentStore;
|
||||
@@ -45,17 +46,43 @@ namespace Apollon.WPF.ViewModels
|
||||
_modalNavigationStore = modalNavigationStore;
|
||||
_overviewListingItemViewModels = new ObservableCollection<OverviewListingItemViewModel>();
|
||||
|
||||
LoadTournamentsCommand = new LoadTournamentsCommand(tournamentStore);
|
||||
|
||||
_tournamentStore.TournamentLoaded += TournamentStore_TournamentLoaded;
|
||||
_tournamentStore.TournamentAdded += TournamentStore_TournamentAdded;
|
||||
_tournamentStore.TournamentUpdated += TournamentStore_TournamentUpdated;
|
||||
}
|
||||
_tournamentStore.TournamentDeleted += TournamentStore_TournamentDeleted;
|
||||
}
|
||||
|
||||
public static OverviewListingViewModel LoadViewModel(SelectedTournamentsStore selectedTournamentStore, ModalNavigationStore modalNavigationStore, TournamentsStore tournamentStore)
|
||||
{
|
||||
OverviewListingViewModel viewModel = new OverviewListingViewModel(selectedTournamentStore, modalNavigationStore, tournamentStore);
|
||||
|
||||
viewModel.LoadTournamentsCommand.Execute(null);
|
||||
|
||||
return viewModel;
|
||||
}
|
||||
|
||||
protected override void Dispose()
|
||||
{
|
||||
_tournamentStore.TournamentLoaded -= TournamentStore_TournamentLoaded;
|
||||
_tournamentStore.TournamentAdded -= TournamentStore_TournamentAdded;
|
||||
_tournamentStore.TournamentUpdated -= TournamentStore_TournamentUpdated;
|
||||
_tournamentStore.TournamentDeleted -= TournamentStore_TournamentDeleted;
|
||||
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
private void TournamentStore_TournamentLoaded()
|
||||
{
|
||||
_overviewListingItemViewModels.Clear();
|
||||
|
||||
foreach (Tournament tournament in _tournamentStore.Tournaments)
|
||||
{
|
||||
AddTournament(tournament);
|
||||
}
|
||||
}
|
||||
|
||||
private void TournamentStore_TournamentAdded(Tournament tournament)
|
||||
{
|
||||
AddTournament(tournament);
|
||||
@@ -64,7 +91,7 @@ namespace Apollon.WPF.ViewModels
|
||||
private void TournamentStore_TournamentUpdated(Tournament tournament)
|
||||
{
|
||||
OverviewListingItemViewModel overviewViewModel =
|
||||
_overviewListingItemViewModels.FirstOrDefault(y => y.Tournament.Id == tournament.Id);
|
||||
_overviewListingItemViewModels.FirstOrDefault(y => y.Tournament?.Id == tournament.Id);
|
||||
|
||||
if(overviewViewModel != null)
|
||||
{
|
||||
@@ -72,10 +99,21 @@ namespace Apollon.WPF.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
private void TournamentStore_TournamentDeleted(Guid id)
|
||||
{
|
||||
OverviewListingItemViewModel itemViewModel = _overviewListingItemViewModels.FirstOrDefault(y => y.Tournament?.Id == id);
|
||||
|
||||
if (itemViewModel != null)
|
||||
{
|
||||
_overviewListingItemViewModels.Remove(itemViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddTournament(Tournament tournament)
|
||||
{
|
||||
OverviewListingItemViewModel itemViewModel = new OverviewListingItemViewModel(tournament, _tournamentStore, _modalNavigationStore);
|
||||
OverviewListingItemViewModel itemViewModel =
|
||||
new OverviewListingItemViewModel(tournament, _tournamentStore, _modalNavigationStore);
|
||||
_overviewListingItemViewModels.Add(itemViewModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user