AuftraggeberListview intial

This commit is contained in:
2023-07-03 19:15:57 +02:00
parent 287c7aaa0a
commit 33f9da3798
16 changed files with 184 additions and 27 deletions

View File

@@ -0,0 +1,17 @@
using StammGenerator.Interface;
using StammGenerator.ViewModel;
using System.Threading.Tasks;
namespace StammGenerator.Commands
{
internal class AuftraggeberAddCommand: AsyncCommandBase
{
private readonly IActualState actualState;
private readonly IRenavigator renavigator;
public override Task ExecuteAsync(object? parameter)
{
throw new System.NotImplementedException();
}
}
}

View File

@@ -0,0 +1,17 @@
using StammGenerator.Interface;
using StammGenerator.ViewModel;
using System.Threading.Tasks;
namespace StammGenerator.Commands
{
internal class AuftraggeberEditCommand : AsyncCommandBase
{
private readonly IActualState actualState;
private readonly IRenavigator renavigator;
public override Task ExecuteAsync(object? parameter)
{
throw new System.NotImplementedException();
}
}
}

View File

@@ -10,6 +10,7 @@ namespace StammGenerator.Enum
{
Home,
ProjectList,
AuftraggeberList,
SchachtList,
SchachtEdit,
HaltungList,

View File

@@ -60,6 +60,15 @@ namespace StammGenerator.HostBuilders
});
#endregion
#region Auftraggeber
services.AddSingleton<CreateViewModel<AuftraggeberListViewModel>>(services =>
{
return () => new AuftraggeberListViewModel(
services.GetRequiredService<IAuftraggeberDataService>()
);
});
#endregion
#region Haltungen
services.AddSingleton<CreateViewModel<HaltungListViewModel>>(services =>
{

View File

@@ -31,6 +31,10 @@
<view:HaltungEditView />
</DataTemplate>
<DataTemplate DataType="{x:Type viewmodel:AuftraggeberListViewModel}">
<view:AuftraggeberListView />
</DataTemplate>
<DataTemplate DataType="{x:Type viewmodel:ProjektListViewModel}">
<view:ProjektListView />
</DataTemplate>

View File

@@ -7,6 +7,9 @@
</ApplicationDefinition>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Auftraggeber\AuftraggeberListView.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Views\Auftraggeber\AuftraggeberShow.xaml.cs">
<SubType>Code</SubType>
</Compile>
@@ -45,6 +48,9 @@
<Page Update="MainWindow.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\Auftraggeber\AuftraggeberListView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\Auftraggeber\AuftraggeberShow.xaml">
<SubType>Designer</SubType>
</Page>

View File

@@ -11,7 +11,7 @@ using System.Windows.Input;
namespace StammGenerator.ViewModel
{
class AuftraggeberEditViewModel : BaseViewModel
class AuftraggeberEditFrmViewModel : BaseViewModel
{
Auftraggeber _model;
public string Name
@@ -110,7 +110,7 @@ namespace StammGenerator.ViewModel
base.OnPropertyChanged(propertyName);
}
public AuftraggeberEditViewModel(Auftraggeber model, IAuftraggeberDataService auftraggeberDataService)
public AuftraggeberEditFrmViewModel(Auftraggeber model, IAuftraggeberDataService auftraggeberDataService)
{
_model = model;
_auftraggeberDataService = auftraggeberDataService;

View File

@@ -0,0 +1,52 @@
using SewerStammGen.Shared.Contracts;
using SewerStammGen.Shared.Domain;
using StammGenerator.Commands;
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 StammGenerator.ViewModel
{
public class AuftraggeberListViewModel : BaseViewModel
{
private readonly ObservableCollection<Auftraggeber> _auftraggeber;
private readonly IAuftraggeberDataService _auftraggeberDataService;
public Auftraggeber? SelectedAuftraggeber { get; set; }
public ObservableCollection<Auftraggeber> Auftraggeber { get => _auftraggeber; }
public ICommand AddCommand { get; set; }
public ICommand EditCommand { get; set; }
public AuftraggeberListViewModel(IAuftraggeberDataService auftraggeberDataService)
{
_auftraggeber = new ObservableCollection<Auftraggeber>();
_auftraggeberDataService = auftraggeberDataService;
AddCommand = new AuftraggeberAddCommand();
EditCommand = new AuftraggeberEditCommand();
LoadAuftraggeber();
}
private async void LoadAuftraggeber()
{
var auftraggeber = await _auftraggeberDataService.GetAll();
InitCollection(_auftraggeber, auftraggeber);
}
private void InitCollection(ObservableCollection<Auftraggeber> dest, IEnumerable<Auftraggeber> source)
{
dest.Clear();
foreach(var sourceItem in source)
{
dest.Add(sourceItem);
}
}
}
}

View File

@@ -17,6 +17,7 @@ namespace StammGenerator.ViewModel.Factories
private CreateViewModel<HaltungListViewModel> _createHaltungListViewModel;
//private CreateViewModel<SewerConnectorViewModel> _createSewerConnectorViewModel;
private CreateViewModel<ProjektListViewModel> _createProjektListViewModel;
private CreateViewModel<AuftraggeberListViewModel> _createAuftraggeberListViewModel;
public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
@@ -24,7 +25,8 @@ namespace StammGenerator.ViewModel.Factories
CreateViewModel<ManholeListViewModel> createManholeListViewModel,
CreateViewModel<HaltungListViewModel> createHaltungListViewModel,
CreateViewModel<ProjektListViewModel> createProjektListViewModel
CreateViewModel<ProjektListViewModel> createProjektListViewModel,
CreateViewModel<AuftraggeberListViewModel> createAuftraggeberListViewModel
)
{
_createHomeViewModel = createHomeViewModel;
@@ -33,6 +35,7 @@ namespace StammGenerator.ViewModel.Factories
_createProjektListViewModel = createProjektListViewModel;
_createManholeListViewModel = createManholeListViewModel;
_createHaltungListViewModel = createHaltungListViewModel;
_createAuftraggeberListViewModel = createAuftraggeberListViewModel;
}
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
@@ -49,6 +52,8 @@ namespace StammGenerator.ViewModel.Factories
case EMainWindowViewType.ProjectList: return _createProjektListViewModel();
case EMainWindowViewType.AuftraggeberList: return _createAuftraggeberListViewModel();
default:
throw new NotImplementedException();
}

View File

@@ -112,7 +112,7 @@ namespace StammGenerator.ViewModel
private void ChangeAuftraggeber()
{
var win = new AuftraggeberShow();
win.DataContext = new AuftraggeberEditViewModel(_model.Auftraggeber, _auftraggeberDataService);
win.DataContext = new AuftraggeberEditFrmViewModel(_model.Auftraggeber, _auftraggeberDataService);
win.Closed += AuftraggeberWin_Closed;
win.ShowDialog();
@@ -122,7 +122,7 @@ namespace StammGenerator.ViewModel
{
AuftraggeberShow? shw = sender as AuftraggeberShow;
if (shw == null) return;
AuftraggeberEditViewModel? mdl = shw.DataContext as AuftraggeberEditViewModel;
AuftraggeberEditFrmViewModel? mdl = shw.DataContext as AuftraggeberEditFrmViewModel;
if (mdl == null) return;
if (mdl.SelectedAuftraggber == null) return;

View File

@@ -0,0 +1,26 @@
<UserControl x:Class="StammGenerator.Views.AuftraggeberListView"
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:StammGenerator.Views"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<StackPanel>
<DataGrid ItemsSource="{Binding Auftraggeber}" AutoGenerateColumns="False" SelectedItem="{Binding SelectedAuftraggeber}" IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Ansprechpartner" Binding="{Binding Ansprechpartner}" />
<DataGridTextColumn Header="Strasse" Binding="{Binding Strasse}" />
<DataGridTextColumn Header="PLZ" Binding="{Binding Postleitzahl}" />
<DataGridTextColumn Header="Ort" Binding="{Binding Ort}" />
</DataGrid.Columns>
</DataGrid>
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
<Button Content="Editieren" Command="{Binding EditCommand}" />
</StackPanel>
</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 StammGenerator.Views
{
/// <summary>
/// Interaktionslogik für AuftraggeberListView.xaml
/// </summary>
public partial class AuftraggeberListView : UserControl
{
public AuftraggeberListView()
{
InitializeComponent();
}
}
}

View File

@@ -15,6 +15,7 @@
<Grid>
<StackPanel>
<RadioButton IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:HomeViewModel}}" Command="{Binding UpdateCurrentViewModelCommand}" CommandParameter="{x:Static nav:EMainWindowViewType.Home}" Style="{StaticResource ToggleButtonList}" Content="Home" />
<RadioButton IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:AuftraggeberListViewModel}}" Command="{Binding UpdateCurrentViewModelCommand}" CommandParameter="{x:Static nav:EMainWindowViewType.AuftraggeberList}" Style="{StaticResource ToggleButtonList}" Content="Auftraggeber" />
<RadioButton IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ProjektListViewModel}}" Command="{Binding UpdateCurrentViewModelCommand}" CommandParameter="{x:Static nav:EMainWindowViewType.ProjectList}" Style="{StaticResource ToggleButtonList}" Content="Projekte" />
<RadioButton IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ManholeListViewModel}}" Command="{Binding UpdateCurrentViewModelCommand}" CommandParameter="{x:Static nav:EMainWindowViewType.SchachtList}" Style="{StaticResource ToggleButtonList}" Content="Schächte" />
<RadioButton IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:HaltungListViewModel}}" Command="{Binding UpdateCurrentViewModelCommand}" CommandParameter="{x:Static nav:EMainWindowViewType.HaltungList}" Style="{StaticResource ToggleButtonList}" Content="Haltungen" />

View File

@@ -8,15 +8,15 @@
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="197*" />
<ColumnDefinition Width="603*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="Dateiname" />
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding FileName}" Margin="20,20,20,132" />
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding FileName}" Margin="20,20,20,179" />
<Button Grid.Row="0" Grid.Column="1" Content="Datei wählen" Margin="120,170,200,4" Command="{Binding OpenFileDialogCommand}" />
<Button Grid.Row="1" Grid.ColumnSpan="2" Content="Laden" Command="{Binding LoadFile}" />