Imprägnierungen werden aufgelistet

Todo renavitor zur Imprägnierungsedit.
This commit is contained in:
HuskyTeufel
2021-10-15 12:50:35 +02:00
parent 6cf888c5e3
commit e2e7fbc9c4
9 changed files with 174 additions and 5 deletions

View File

@@ -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<Impregnation> impregnationService;
private IRenavigator editRenavigator;
public AddImpregnationCommand(IDataService<Impregnation> impregnationService, IRenavigator editRenavigator)
{
this.impregnationService = impregnationService;
this.editRenavigator = editRenavigator;
}
public override Task ExecuteAsync(object? parameter)
{
throw new NotImplementedException();
}
}
}

View File

@@ -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<Impregnation> _impregnationService;
private ImpregnierungListViewModel _impregnierungListViewModel;
private IRenavigator _editRenavigator;
public EditImpregnationCommand(
IDataService<Impregnation> impregnationService,
ImpregnierungListViewModel impregnierungListViewModel,
IRenavigator editRenavigator)
{
_impregnationService = impregnationService;
_impregnierungListViewModel = impregnierungListViewModel;
_editRenavigator = editRenavigator;
}
public override Task ExecuteAsync(object? parameter)
{
throw new NotImplementedException();
}
}
}

View File

@@ -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
{
}
}

View File

@@ -1,18 +1,37 @@
using DaSaSo.Domain.Model; using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services; using DaSaSo.Domain.Services;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface;
using Microsoft.Toolkit.Mvvm.Input;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.ViewModel namespace DaSaSo.ViewModel
{ {
public class ImpregnierungListViewModel : BaseViewModel public class ImpregnierungListViewModel : BaseViewModel
{ {
public ObservableCollection<Impregnation> Impregnations; public ObservableCollection<Impregnation> Impregnations { get; }
private readonly IDataService<Impregnation> _impregnationService; private readonly IDataService<Impregnation> _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; bool _isLoading;
public bool IsLoading { public bool IsLoading {
@@ -27,11 +46,24 @@ namespace DaSaSo.ViewModel
} }
} }
public ImpregnierungListViewModel(IDataService<Impregnation> impregnationService) public ImpregnierungListViewModel(IDataService<Impregnation> impregnationService, IRenavigator editRenavigator)
{ {
IsLoading = true; IsLoading = true;
Impregnations = new ObservableCollection<Impregnation>(); Impregnations = new ObservableCollection<Impregnation>();
_impregnationService = impregnationService; _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(); LoadImpregnations();
} }

View File

@@ -28,6 +28,9 @@
<Compile Update="View\HomeView.xaml.cs"> <Compile Update="View\HomeView.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Update="View\Impregnation\ImpregnationEditView.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="View\Impregnation\ImpregnationListView.xaml.cs"> <Compile Update="View\Impregnation\ImpregnationListView.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
@@ -93,6 +96,9 @@
<Page Update="View\HomeView.xaml"> <Page Update="View\HomeView.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Update="View\Impregnation\ImpregnationEditView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="View\Impregnation\ImpregnationListView.xaml"> <Page Update="View\Impregnation\ImpregnationListView.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>

View File

@@ -40,6 +40,8 @@ namespace DaSaSo.Wpf.HostBuilders
services.AddSingleton<ViewModelDelegateRenavigator<SewerObjectListViewModel>>(); services.AddSingleton<ViewModelDelegateRenavigator<SewerObjectListViewModel>>();
services.AddTransient<ViewModelDelegateRenavigator<SewerDamageEditViewModel>>(); services.AddTransient<ViewModelDelegateRenavigator<SewerDamageEditViewModel>>();
services.AddSingleton<ViewModelDelegateRenavigator<ImpregnierungEditViewModel>>();
services.AddSingleton<CreateViewModel<HomeViewModel>>(services => services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
{ {
return () => new HomeViewModel(); return () => new HomeViewModel();
@@ -70,9 +72,14 @@ namespace DaSaSo.Wpf.HostBuilders
services.AddSingleton<CreateViewModel<ImpregnierungListViewModel>>(services => services.AddSingleton<CreateViewModel<ImpregnierungListViewModel>>(services =>
{ {
return () => new ImpregnierungListViewModel( return () => new ImpregnierungListViewModel(
services.GetRequiredService<IDataService<Impregnation>>() services.GetRequiredService<IDataService<Impregnation>>(),
services.GetRequiredService<ViewModelDelegateRenavigator<ImpregnierungEditViewModel>>()
); );
}); });
services.AddTransient<CreateViewModel<ImpregnierungEditViewModel>>(services =>
{
return () => new ImpregnierungEditViewModel();
});
services.AddTransient<CreateViewModel<SewerStammdatenViewModel>>(services => services.AddTransient<CreateViewModel<SewerStammdatenViewModel>>(services =>
{ {

View File

@@ -0,0 +1,12 @@
<UserControl x:Class="DaSaSo.Wpf.View.Impregnation.ImpregnationEditView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@@ -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
{
/// <summary>
/// Interaction logic for ImpregnationEditView.xaml
/// </summary>
public partial class ImpregnationEditView : UserControl
{
public ImpregnationEditView()
{
InitializeComponent();
}
}
}

View File

@@ -3,10 +3,21 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 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" mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"> d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</UserControl.Resources>
<Grid> <Grid>
<StackPanel>
<TextBlock Text="Imprägnierungen" /> <TextBlock Text="Imprägnierungen" />
<ListView ItemsSource="{Binding Impregnations}" DisplayMemberPath="Number" SelectedItem="{Binding SelectedImpregnation, Mode=TwoWay}" />
<Button Content="Editieren" Command="{Binding EditImpregnationCommand}" CommandParameter="{Binding SelectedImpregnation}" />
<Button Content="Neue Hinzufügen" Command="{Binding AddImpregnationCommand}" />
</StackPanel>
<Border Background="Gray" d:Visibility="Hidden" Visibility="{Binding IsLoading, Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBlock Foreground="White" FontSize="40" Text="Loading" />
</Border>
</Grid> </Grid>
</UserControl> </UserControl>