From d4da9fd0dae00a14e70e834136ce2b40a394e558 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Mon, 1 Nov 2021 09:58:54 +0100 Subject: [PATCH] =?UTF-8?q?Impr=C3=A4gnierungen=20k=C3=B6nnen=20gespeicher?= =?UTF-8?q?t=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Commands/SaveImpregnationCommand.cs | 28 +++++++++++++++++++ .../ImpregnierungEditViewModel.cs | 8 +++++- .../AddViewModelsHostBuilderExtensions.cs | 3 +- .../Impregnation/ImpregnationEditView.xaml | 2 +- 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 DaSaSo.ViewModel/Commands/SaveImpregnationCommand.cs diff --git a/DaSaSo.ViewModel/Commands/SaveImpregnationCommand.cs b/DaSaSo.ViewModel/Commands/SaveImpregnationCommand.cs new file mode 100644 index 0000000..0064071 --- /dev/null +++ b/DaSaSo.ViewModel/Commands/SaveImpregnationCommand.cs @@ -0,0 +1,28 @@ +using DaSaSo.Domain.Model; +using DaSaSo.Domain.Services; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DaSaSo.ViewModel.Commands +{ + internal class SaveImpregnationCommand : AsyncCommandBase + { + private IDataService _impregnationService; + private ImpregnierungEditViewModel _impregnationEditViewModel; + + public SaveImpregnationCommand(ImpregnierungEditViewModel impregnierungEditViewModel, IDataService dataService) + { + _impregnationService = dataService; + _impregnationEditViewModel = impregnierungEditViewModel; + } + public override async Task ExecuteAsync(object? parameter) + { + _impregnationEditViewModel.Model = await _impregnationService.Update(_impregnationEditViewModel.Model.Id, _impregnationEditViewModel.Model); + Trace.WriteLine("Daten gespeichert"); + } + } +} diff --git a/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs b/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs index b34a2f5..eb2877a 100644 --- a/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs +++ b/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs @@ -1,16 +1,21 @@ using DaSaSo.Domain.Model; +using DaSaSo.Domain.Services; +using DaSaSo.ViewModel.Commands; using DaSaSo.ViewModel.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows.Input; namespace DaSaSo.ViewModel { public class ImpregnierungEditViewModel : BaseViewModel { private Impregnation _model; + public ICommand SaveImpregnation { get; set; } + public Impregnation Model { get => _model; set => _model = value; } public int DN { @@ -53,9 +58,10 @@ namespace DaSaSo.ViewModel } } - public ImpregnierungEditViewModel(IActualProject actualProject) + public ImpregnierungEditViewModel(IActualProject actualProject, IDataService dataservice) { _model = actualProject.AktuellImpregnation; + SaveImpregnation = new SaveImpregnationCommand(this,dataservice); } } } diff --git a/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs b/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs index ad6f874..5ba791d 100644 --- a/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs +++ b/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs @@ -80,7 +80,8 @@ namespace DaSaSo.Wpf.HostBuilders services.AddTransient>(services => { return () => new ImpregnierungEditViewModel( - services.GetRequiredService() + services.GetRequiredService(), + services.GetRequiredService>() ); }); diff --git a/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml index 82ab701..169f951 100644 --- a/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml +++ b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml @@ -37,6 +37,6 @@ -