SelectedTournamentStore
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0-windows</TargetFramework>
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>disable</Nullable>
|
||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Apollon.WPF.ViewModels;
|
using Apollon.WPF.Stores;
|
||||||
|
using Apollon.WPF.ViewModels;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
@@ -14,11 +15,17 @@ namespace Apollon.WPF
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class App : Application
|
public partial class App : Application
|
||||||
{
|
{
|
||||||
|
private readonly SelectedTournamentStore _selectedTournamentStore;
|
||||||
|
|
||||||
|
public App()
|
||||||
|
{
|
||||||
|
_selectedTournamentStore = new SelectedTournamentStore();
|
||||||
|
}
|
||||||
protected override void OnStartup(StartupEventArgs e)
|
protected override void OnStartup(StartupEventArgs e)
|
||||||
{
|
{
|
||||||
MainWindow = new MainWindow()
|
MainWindow = new MainWindow()
|
||||||
{
|
{
|
||||||
DataContext = new ApollonOverviewViewModel()
|
DataContext = new ApollonOverviewViewModel(_selectedTournamentStore)
|
||||||
};
|
};
|
||||||
MainWindow.Show();
|
MainWindow.Show();
|
||||||
|
|
||||||
|
|||||||
26
Apollon.WPF/Models/Tournament.cs
Normal file
26
Apollon.WPF/Models/Tournament.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Apollon.WPF.Models
|
||||||
|
{
|
||||||
|
public class Tournament
|
||||||
|
{
|
||||||
|
public Tournament(string organisation, string tournamentname, string category, DateTime datetime, string location)
|
||||||
|
{
|
||||||
|
Organisation = organisation;
|
||||||
|
Tournamentname = tournamentname;
|
||||||
|
Category = category;
|
||||||
|
Datetime = datetime;
|
||||||
|
Location = location;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Organisation { get; }
|
||||||
|
public string Tournamentname { get; }
|
||||||
|
public string Category { get; }
|
||||||
|
public DateTime Datetime { get; }
|
||||||
|
public string Location { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Apollon.WPF.Stores
|
|
||||||
{
|
|
||||||
public class SelectedApollonStore
|
|
||||||
{
|
|
||||||
public int MyProperty { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
29
Apollon.WPF/Stores/SelectedTournamentStore.cs
Normal file
29
Apollon.WPF/Stores/SelectedTournamentStore.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using Apollon.WPF.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Apollon.WPF.Stores
|
||||||
|
{
|
||||||
|
public class SelectedTournamentStore
|
||||||
|
{
|
||||||
|
private Tournament _selectedTournament;
|
||||||
|
|
||||||
|
public Tournament SelectedTournament
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _selectedTournament;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_selectedTournament = value;
|
||||||
|
SelectedTournamentChanged?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public event Action SelectedTournamentChanged;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
using System;
|
using Apollon.WPF.Models;
|
||||||
|
using Apollon.WPF.Stores;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -8,19 +10,20 @@ namespace Apollon.WPF.ViewModels
|
|||||||
{
|
{
|
||||||
public class ApollonOverviewDetailsViewModel : ViewModelBase
|
public class ApollonOverviewDetailsViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
public string Organisation { get; }
|
private readonly SelectedTournamentStore _selectedTournamentStore;
|
||||||
public string Tournamentname { get; }
|
|
||||||
public string Category { get; }
|
|
||||||
public DateTime Datetime { get; }
|
|
||||||
public string Location { get; }
|
|
||||||
|
|
||||||
public ApollonOverviewDetailsViewModel()
|
private Tournament _selectedTournament => _selectedTournamentStore.SelectedTournament;
|
||||||
|
|
||||||
|
public bool hasSelectedTournament => _selectedTournament != null;
|
||||||
|
public string Organisation => _selectedTournament?.Organisation ?? "keine Organisation";
|
||||||
|
public string Tournamentname => _selectedTournament?.Tournamentname ?? "kein Name";
|
||||||
|
public string Category => _selectedTournament?.Category ?? "keine Kategorie";
|
||||||
|
//public DateTime Datetime => _selectedTournament
|
||||||
|
public string Location => _selectedTournament?.Location ?? "kein Ort";
|
||||||
|
|
||||||
|
public ApollonOverviewDetailsViewModel(SelectedTournamentStore selectedTournamentStore)
|
||||||
{
|
{
|
||||||
Organisation = "Deutscher Schützenbund";
|
_selectedTournamentStore = selectedTournamentStore;
|
||||||
Tournamentname = "Deutsche Meisterschaft 2021";
|
|
||||||
Category = "Bogenschießen im Freien";
|
|
||||||
Datetime = DateTime.Now;
|
|
||||||
Location = "Wiesbaden";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ namespace Apollon.WPF.ViewModels
|
|||||||
public ApollonOverviewListingItemViewModel(string tournamentname)
|
public ApollonOverviewListingItemViewModel(string tournamentname)
|
||||||
{
|
{
|
||||||
Tournamentname = tournamentname;
|
Tournamentname = tournamentname;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Apollon.WPF.Stores;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -12,7 +13,7 @@ namespace Apollon.WPF.ViewModels
|
|||||||
private readonly ObservableCollection<ApollonOverviewListingItemViewModel> _apollonOverviewListingItemViewModels;
|
private readonly ObservableCollection<ApollonOverviewListingItemViewModel> _apollonOverviewListingItemViewModels;
|
||||||
public IEnumerable<ApollonOverviewListingItemViewModel> ApollonOverviewListingItemViewModels => _apollonOverviewListingItemViewModels;
|
public IEnumerable<ApollonOverviewListingItemViewModel> ApollonOverviewListingItemViewModels => _apollonOverviewListingItemViewModels;
|
||||||
|
|
||||||
public ApollonOverviewListingViewModel()
|
public ApollonOverviewListingViewModel(SelectedTournamentStore _selectedTournamentStore)
|
||||||
{
|
{
|
||||||
_apollonOverviewListingItemViewModels = new ObservableCollection<ApollonOverviewListingItemViewModel>();
|
_apollonOverviewListingItemViewModels = new ObservableCollection<ApollonOverviewListingItemViewModel>();
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Apollon.WPF.Stores;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -13,10 +14,10 @@ namespace Apollon.WPF.ViewModels
|
|||||||
public ApollonOverviewDetailsViewModel ApollonOverviewDetailsViewModel{ get; }
|
public ApollonOverviewDetailsViewModel ApollonOverviewDetailsViewModel{ get; }
|
||||||
public ICommand AddTournamentCommand { get; }
|
public ICommand AddTournamentCommand { get; }
|
||||||
|
|
||||||
public ApollonOverviewViewModel()
|
public ApollonOverviewViewModel(SelectedTournamentStore _selectedTournamentStore)
|
||||||
{
|
{
|
||||||
ApollonOverviewListingViewModel = new ApollonOverviewListingViewModel();
|
ApollonOverviewListingViewModel = new ApollonOverviewListingViewModel(_selectedTournamentStore);
|
||||||
ApollonOverviewDetailsViewModel = new ApollonOverviewDetailsViewModel();
|
ApollonOverviewDetailsViewModel = new ApollonOverviewDetailsViewModel(_selectedTournamentStore);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ namespace Apollon.WPF.ViewModels
|
|||||||
{
|
{
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
protected virtual void OnPrpertyChanged(string properyName = null)
|
protected virtual void OnPropertyChanged(string propertyName = null)
|
||||||
{
|
{
|
||||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(properyName));
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user