From e2e7fbc9c4f587106e1fc84c55a5213fa22474f3 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Fri, 15 Oct 2021 12:50:35 +0200 Subject: [PATCH] =?UTF-8?q?Impr=C3=A4gnierungen=20werden=20aufgelistet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Todo renavitor zur Imprägnierungsedit. --- .../Commands/AddImpregnationCommand.cs | 28 +++++++++++++++ .../Commands/EditImpregnationCommand.cs | 33 +++++++++++++++++ .../ImpregnierungEditViewModel.cs | 12 +++++++ .../ImpregnierungListViewModel.cs | 36 +++++++++++++++++-- DaSaSo.Wpf/DaSaSo.Wpf.csproj.user | 6 ++++ .../AddViewModelsHostBuilderExtensions.cs | 9 ++++- .../Impregnation/ImpregnationEditView.xaml | 12 +++++++ .../Impregnation/ImpregnationEditView.xaml.cs | 28 +++++++++++++++ .../Impregnation/ImpregnationListView.xaml | 15 ++++++-- 9 files changed, 174 insertions(+), 5 deletions(-) create mode 100644 DaSaSo.ViewModel/Commands/AddImpregnationCommand.cs create mode 100644 DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs create mode 100644 DaSaSo.ViewModel/ImpregnierungEditViewModel.cs create mode 100644 DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml create mode 100644 DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml.cs diff --git a/DaSaSo.ViewModel/Commands/AddImpregnationCommand.cs b/DaSaSo.ViewModel/Commands/AddImpregnationCommand.cs new file mode 100644 index 0000000..8ee2fd4 --- /dev/null +++ b/DaSaSo.ViewModel/Commands/AddImpregnationCommand.cs @@ -0,0 +1,28 @@ +using DaSaSo.Domain.Model; +using DaSaSo.Domain.Services; +using DaSaSo.ViewModel.Interface; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DaSaSo.ViewModel.Commands +{ + internal class AddImpregnationCommand : AsyncCommandBase + { + private IDataService impregnationService; + private IRenavigator editRenavigator; + + public AddImpregnationCommand(IDataService impregnationService, IRenavigator editRenavigator) + { + this.impregnationService = impregnationService; + this.editRenavigator = editRenavigator; + } + + public override Task ExecuteAsync(object? parameter) + { + throw new NotImplementedException(); + } + } +} diff --git a/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs b/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs new file mode 100644 index 0000000..0594ca5 --- /dev/null +++ b/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs @@ -0,0 +1,33 @@ +using DaSaSo.Domain.Model; +using DaSaSo.Domain.Services; +using DaSaSo.ViewModel.Interface; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DaSaSo.ViewModel.Commands +{ + internal class EditImpregnationCommand : AsyncCommandBase + { + private IDataService _impregnationService; + private ImpregnierungListViewModel _impregnierungListViewModel; + private IRenavigator _editRenavigator; + + public EditImpregnationCommand( + IDataService impregnationService, + ImpregnierungListViewModel impregnierungListViewModel, + IRenavigator editRenavigator) + { + _impregnationService = impregnationService; + _impregnierungListViewModel = impregnierungListViewModel; + _editRenavigator = editRenavigator; + } + + public override Task ExecuteAsync(object? parameter) + { + throw new NotImplementedException(); + } + } +} diff --git a/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs b/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs new file mode 100644 index 0000000..35dd611 --- /dev/null +++ b/DaSaSo.ViewModel/ImpregnierungEditViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DaSaSo.ViewModel +{ + public class ImpregnierungEditViewModel : BaseViewModel + { + } +} diff --git a/DaSaSo.ViewModel/ImpregnierungListViewModel.cs b/DaSaSo.ViewModel/ImpregnierungListViewModel.cs index 0517840..e42378a 100644 --- a/DaSaSo.ViewModel/ImpregnierungListViewModel.cs +++ b/DaSaSo.ViewModel/ImpregnierungListViewModel.cs @@ -1,18 +1,37 @@ using DaSaSo.Domain.Model; using DaSaSo.Domain.Services; +using DaSaSo.ViewModel.Commands; +using DaSaSo.ViewModel.Interface; +using Microsoft.Toolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows.Input; namespace DaSaSo.ViewModel { public class ImpregnierungListViewModel : BaseViewModel { - public ObservableCollection Impregnations; + public ObservableCollection Impregnations { get; } private readonly IDataService _impregnationService; + private Impregnation? _selectedImpregnation = null; + public Impregnation? SelectedImpregnation + { + get => _selectedImpregnation; + set + { + if(_selectedImpregnation != value) + { + _selectedImpregnation = value; + OnPropertyChanged(); + } + } + } + public ICommand EditImpregnationCommand { get; set; } + public ICommand AddImpregnationCommand { get; set; } bool _isLoading; public bool IsLoading { @@ -27,11 +46,24 @@ namespace DaSaSo.ViewModel } } - public ImpregnierungListViewModel(IDataService impregnationService) + public ImpregnierungListViewModel(IDataService impregnationService, IRenavigator editRenavigator) { IsLoading = true; Impregnations = new ObservableCollection(); _impregnationService = impregnationService; + AddImpregnationCommand = new RelayCommand(() => + { + Impregnation newImpregnation = new Impregnation() + { + Number = "Neu bitte Editieren!" + }; + SelectedImpregnation = newImpregnation; + Impregnations.Add(newImpregnation); + OnPropertyChanged("Impregnations"); + }); + + //AddImpregnationCommand = //new AddImpregnationCommand(_impregnationService, editRenavigator); + EditImpregnationCommand = new EditImpregnationCommand(_impregnationService, this, editRenavigator); LoadImpregnations(); } diff --git a/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user b/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user index 5ab348d..8e7f7c6 100644 --- a/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user +++ b/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user @@ -28,6 +28,9 @@ Code + + Code + Code @@ -93,6 +96,9 @@ Designer + + Designer + Designer diff --git a/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs b/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs index d9222c6..0f4ee0f 100644 --- a/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs +++ b/DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs @@ -40,6 +40,8 @@ namespace DaSaSo.Wpf.HostBuilders services.AddSingleton>(); services.AddTransient>(); + services.AddSingleton>(); + services.AddSingleton>(services => { return () => new HomeViewModel(); @@ -70,9 +72,14 @@ namespace DaSaSo.Wpf.HostBuilders services.AddSingleton>(services => { return () => new ImpregnierungListViewModel( - services.GetRequiredService>() + services.GetRequiredService>(), + services.GetRequiredService>() ); }); + services.AddTransient>(services => + { + return () => new ImpregnierungEditViewModel(); + }); services.AddTransient>(services => { diff --git a/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml new file mode 100644 index 0000000..8ff0816 --- /dev/null +++ b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml.cs b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml.cs new file mode 100644 index 0000000..309c2e4 --- /dev/null +++ b/DaSaSo.Wpf/View/Impregnation/ImpregnationEditView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace DaSaSo.Wpf.View.Impregnation +{ + /// + /// Interaction logic for ImpregnationEditView.xaml + /// + public partial class ImpregnationEditView : UserControl + { + public ImpregnationEditView() + { + InitializeComponent(); + } + } +} diff --git a/DaSaSo.Wpf/View/Impregnation/ImpregnationListView.xaml b/DaSaSo.Wpf/View/Impregnation/ImpregnationListView.xaml index 906bbb9..0ebca94 100644 --- a/DaSaSo.Wpf/View/Impregnation/ImpregnationListView.xaml +++ b/DaSaSo.Wpf/View/Impregnation/ImpregnationListView.xaml @@ -3,10 +3,21 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:local="clr-namespace:DaSaSo.Wpf.View.Impregnation" + xmlns:local="clr-namespace:DaSaSo.Wpf.View.Impregnation" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:ImpregnierungListViewModel}" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> + + + - + + + +