From a72edbbafdb7a6b8beaa07326296023c90c8b8d4 Mon Sep 17 00:00:00 2001 From: Natlinux81 <97396587+Natlinux81@users.noreply.github.com> Date: Tue, 16 Aug 2022 00:50:33 +0200 Subject: [PATCH] submit Add and Edit Command --- Apollon.WPF/App.xaml.cs | 4 +-- Apollon.WPF/Commands/AddTournamentCommand.cs | 26 +++++++++++++++++++ Apollon.WPF/Commands/AsyncCommandBase.cs | 23 ++++++++++++++++ Apollon.WPF/Commands/EditTournamentCommand.cs | 26 +++++++++++++++++++ .../Commands/OpenEditTournamentCommand.cs | 10 +++---- .../ViewModels/AddTournametViewModel.cs | 5 ++-- .../ViewModels/EditTournamentViewModel.cs | 19 +++++++------- Apollon.WPF/ViewModels/OverviewViewModel.cs | 4 +-- 8 files changed, 96 insertions(+), 21 deletions(-) create mode 100644 Apollon.WPF/Commands/AddTournamentCommand.cs create mode 100644 Apollon.WPF/Commands/AsyncCommandBase.cs create mode 100644 Apollon.WPF/Commands/EditTournamentCommand.cs diff --git a/Apollon.WPF/App.xaml.cs b/Apollon.WPF/App.xaml.cs index cfcac7e..05a7a3e 100644 --- a/Apollon.WPF/App.xaml.cs +++ b/Apollon.WPF/App.xaml.cs @@ -18,7 +18,7 @@ namespace Apollon.WPF { private readonly ModalNavigationStore _modalNavigationStore; private readonly SelectedTournamentStore _selectedTournamentStore; - private readonly Tournament _tournament; + //private readonly Tournament _tournament; public App() { @@ -27,7 +27,7 @@ namespace Apollon.WPF } protected override void OnStartup(StartupEventArgs e) { - OverviewViewModel overviewViewModel = new OverviewViewModel(_selectedTournamentStore, _modalNavigationStore, _tournament); + OverviewViewModel overviewViewModel = new OverviewViewModel(_selectedTournamentStore, _modalNavigationStore); MainWindow = new MainWindow() { diff --git a/Apollon.WPF/Commands/AddTournamentCommand.cs b/Apollon.WPF/Commands/AddTournamentCommand.cs new file mode 100644 index 0000000..391eba0 --- /dev/null +++ b/Apollon.WPF/Commands/AddTournamentCommand.cs @@ -0,0 +1,26 @@ +using Apollon.WPF.Stores; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.WPF.Commands +{ + public class AddTournamentCommand : AsyncCommandBase + { + private readonly ModalNavigationStore _modalNavigationStore; + + public AddTournamentCommand(ModalNavigationStore modalNavigationStore) + { + _modalNavigationStore = modalNavigationStore; + } + + public override async Task ExecuteAsync(object parameter) + { + // Add Tournament to Database + + _modalNavigationStore.Close(); + } + } +} diff --git a/Apollon.WPF/Commands/AsyncCommandBase.cs b/Apollon.WPF/Commands/AsyncCommandBase.cs new file mode 100644 index 0000000..2d0e5b2 --- /dev/null +++ b/Apollon.WPF/Commands/AsyncCommandBase.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.WPF.Commands +{ + public abstract class AsyncCommandBase : CommandBase + { + public override async void Execute(object parameter) + { + try + { + await ExecuteAsync(parameter); + } + catch (Exception) { } + + } + + public abstract Task ExecuteAsync(object parameter); + } +} diff --git a/Apollon.WPF/Commands/EditTournamentCommand.cs b/Apollon.WPF/Commands/EditTournamentCommand.cs new file mode 100644 index 0000000..5b78867 --- /dev/null +++ b/Apollon.WPF/Commands/EditTournamentCommand.cs @@ -0,0 +1,26 @@ +using Apollon.WPF.Stores; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.WPF.Commands +{ + public class EditTournamentCommand : AsyncCommandBase + { + private readonly ModalNavigationStore _modalNavigationStore; + + public EditTournamentCommand(ModalNavigationStore modalNavigationStore) + { + _modalNavigationStore = modalNavigationStore; + } + + public override async Task ExecuteAsync(object parameter) + { + // Edit Tournament to Database + + _modalNavigationStore.Close(); + } + } +} diff --git a/Apollon.WPF/Commands/OpenEditTournamentCommand.cs b/Apollon.WPF/Commands/OpenEditTournamentCommand.cs index 03e05c2..d61bd68 100644 --- a/Apollon.WPF/Commands/OpenEditTournamentCommand.cs +++ b/Apollon.WPF/Commands/OpenEditTournamentCommand.cs @@ -11,18 +11,16 @@ namespace Apollon.WPF.Commands { public class OpenEditTournamentCommand : CommandBase { - private readonly ModalNavigationStore _modalNavigationStore; - private readonly Tournament _tournament; + private readonly ModalNavigationStore _modalNavigationStore; - public OpenEditTournamentCommand(ModalNavigationStore modalNavigationStore, Tournament tournament) + public OpenEditTournamentCommand(ModalNavigationStore modalNavigationStore) { - _modalNavigationStore = modalNavigationStore; - _tournament = tournament; + _modalNavigationStore = modalNavigationStore; } public override void Execute(object parameter) { - EditTournamentViewModel editTournamentViewModel = new EditTournamentViewModel(_tournament,_modalNavigationStore); + EditTournamentViewModel editTournamentViewModel = new EditTournamentViewModel(_modalNavigationStore); _modalNavigationStore.CurrentViewModel = editTournamentViewModel; } } diff --git a/Apollon.WPF/ViewModels/AddTournametViewModel.cs b/Apollon.WPF/ViewModels/AddTournametViewModel.cs index 1ef0cd8..bcbffd9 100644 --- a/Apollon.WPF/ViewModels/AddTournametViewModel.cs +++ b/Apollon.WPF/ViewModels/AddTournametViewModel.cs @@ -15,8 +15,9 @@ namespace Apollon.WPF.ViewModels public AddTournamentViewModel(ModalNavigationStore modalNavigationStore) { - ICommand cancelCommand = new CloseModalCommand(modalNavigationStore); - AddEditDetailsViewModel = new AddEditDetailsViewModel(null, cancelCommand); + ICommand submitCommand = new AddTournamentCommand(modalNavigationStore); + ICommand cancelCommand = new CloseModalCommand(modalNavigationStore); + AddEditDetailsViewModel = new AddEditDetailsViewModel(submitCommand, cancelCommand); } } diff --git a/Apollon.WPF/ViewModels/EditTournamentViewModel.cs b/Apollon.WPF/ViewModels/EditTournamentViewModel.cs index 49f4a12..296d033 100644 --- a/Apollon.WPF/ViewModels/EditTournamentViewModel.cs +++ b/Apollon.WPF/ViewModels/EditTournamentViewModel.cs @@ -14,18 +14,19 @@ namespace Apollon.WPF.ViewModels { public AddEditDetailsViewModel AddEditDetailsViewModel { get; } - public EditTournamentViewModel(Tournament tournament, ModalNavigationStore modalNavigationStore) + public EditTournamentViewModel(ModalNavigationStore modalNavigationStore) { + ICommand submitCommand = new EditTournamentCommand(modalNavigationStore); ICommand cancelCommand = new CloseModalCommand(modalNavigationStore); - AddEditDetailsViewModel = new AddEditDetailsViewModel(null, cancelCommand) + AddEditDetailsViewModel = new AddEditDetailsViewModel(submitCommand, cancelCommand ) { - Organisation = tournament.Organisation, - Tournamentname = tournament.Tournamentname, - Category = tournament.Category, - Startdate = tournament.Startdate, - Enddate = tournament.Enddate, - Location = tournament.Location, - Rounds = tournament.Rounds, + //Organisation = tournament.Organisation, + //Tournamentname = tournament.Tournamentname, + //Category = tournament.Category, + //Startdate = tournament.Startdate, + //Enddate = tournament.Enddate, + //Location = tournament.Location, + //Rounds = tournament.Rounds, }; } } diff --git a/Apollon.WPF/ViewModels/OverviewViewModel.cs b/Apollon.WPF/ViewModels/OverviewViewModel.cs index 12e5dd7..3c849e6 100644 --- a/Apollon.WPF/ViewModels/OverviewViewModel.cs +++ b/Apollon.WPF/ViewModels/OverviewViewModel.cs @@ -20,13 +20,13 @@ namespace Apollon.WPF.ViewModels - public OverviewViewModel(SelectedTournamentStore selectedTournamentStore, ModalNavigationStore modalNavigationStore, Tournament tournament) + public OverviewViewModel(SelectedTournamentStore selectedTournamentStore, ModalNavigationStore modalNavigationStore) { OverviewListingViewModel = new OverviewListingViewModel(selectedTournamentStore, modalNavigationStore); OverviewDetailsViewModel = new OverviewDetailsViewModel(selectedTournamentStore); AddTournamentCommand = new OpenAddTournamentCommand(modalNavigationStore); - EditTournamentCommand = new OpenEditTournamentCommand(modalNavigationStore, tournament); + EditTournamentCommand = new OpenEditTournamentCommand(modalNavigationStore); } } }