Export und Import moved

Export und Import funktion sind nun unter Projekteinstellungen aufrufbar
This commit is contained in:
2023-04-24 13:42:13 +02:00
parent 76731c3464
commit 4f99a38990
6 changed files with 33 additions and 22 deletions

View File

@@ -37,8 +37,7 @@ namespace StammGenerator.HostBuilders
return () => new ManholeListViewModel( return () => new ManholeListViewModel(
services.GetRequiredService<ISchachtDataService>(), services.GetRequiredService<ISchachtDataService>(),
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeEditViewModel>>(), services.GetRequiredService<ViewModelDelegateRenavigator<ManholeEditViewModel>>(),
services.GetRequiredService<IActualState>(), services.GetRequiredService<IActualState>()
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeImportViewModel>>()
); );
}); });
@@ -66,8 +65,6 @@ namespace StammGenerator.HostBuilders
{ {
return () => new HaltungListViewModel( return () => new HaltungListViewModel(
services.GetRequiredService<IHaltungDataService>(), services.GetRequiredService<IHaltungDataService>(),
services.GetRequiredService<ISchachtDataService>(),
services.GetRequiredService<IProjektDataService>(),
services.GetRequiredService<IActualState>(), services.GetRequiredService<IActualState>(),
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungEditViewModel>>() services.GetRequiredService<ViewModelDelegateRenavigator<HaltungEditViewModel>>()
); );
@@ -89,8 +86,11 @@ namespace StammGenerator.HostBuilders
{ {
return () => new ProjektEditViewModel( return () => new ProjektEditViewModel(
services.GetRequiredService<IProjektDataService>(), services.GetRequiredService<IProjektDataService>(),
services.GetRequiredService<IHaltungDataService>(),
services.GetRequiredService<ISchachtDataService>(),
services.GetRequiredService<IActualState>(),
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektListViewModel>>(), services.GetRequiredService<ViewModelDelegateRenavigator<ProjektListViewModel>>(),
services.GetRequiredService<IActualState>() services.GetRequiredService<ViewModelDelegateRenavigator<ManholeImportViewModel>>()
); );
}); });

View File

@@ -19,9 +19,8 @@ namespace StammGenerator.ViewModel
public ICommand EditCommand { get; set; } public ICommand EditCommand { get; set; }
public ICommand AddCommand { get; set; } public ICommand AddCommand { get; set; }
public ICommand ExportCommand { get; set; }
public HaltungListViewModel(IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IProjektDataService projektDataService, IActualState actualState, IRenavigator renavigator ) public HaltungListViewModel(IHaltungDataService haltungDataService, IActualState actualState, IRenavigator renavigator )
{ {
_haltungen = new ObservableCollection<Kanal>(); _haltungen = new ObservableCollection<Kanal>();
_haltungDataService = haltungDataService; _haltungDataService = haltungDataService;
@@ -31,7 +30,7 @@ namespace StammGenerator.ViewModel
EditCommand = new HaltungEditCommand(actualState, renavigator, this); EditCommand = new HaltungEditCommand(actualState, renavigator, this);
AddCommand = new HaltungAddCommand(actualState, renavigator); AddCommand = new HaltungAddCommand(actualState, renavigator);
ExportCommand = new ProjectExportCommand(actualState, haltungDataService, schachtDataService,projektDataService);
LoadHaltungen(); LoadHaltungen();
} }

View File

@@ -1,5 +1,7 @@
using SewerStammGen.Shared.Domain; using SewerStammGen.Shared.Contracts;
using SewerStammGen.Shared.Domain;
using Shared.Contracts; using Shared.Contracts;
using StammGenerator.Commands;
using StammGenerator.Interface; using StammGenerator.Interface;
using System.Windows.Input; using System.Windows.Input;
@@ -15,6 +17,9 @@ namespace StammGenerator.ViewModel
public ProjektSettingsViewModel ProjektSettingsViewModel { get; set; } public ProjektSettingsViewModel ProjektSettingsViewModel { get; set; }
public ICommand Speichern { get; set; } public ICommand Speichern { get; set; }
public ICommand SchachtImportCommand { get; set; }
public ICommand DatenExportCommand { get; set; }
public string ProjektName public string ProjektName
{ {
get => _model.Projektname; get => _model.Projektname;
@@ -64,7 +69,7 @@ namespace StammGenerator.ViewModel
} }
} }
public ProjektEditViewModel(IDataService<Projekt> dataService, IRenavigator renavigator, IActualState actualState) public ProjektEditViewModel(IProjektDataService dataService,IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IActualState actualState, IRenavigator renavigator, IRenavigator navigatetoImport)
{ {
_dataService = dataService; _dataService = dataService;
_renavigator = renavigator; _renavigator = renavigator;
@@ -77,6 +82,14 @@ namespace StammGenerator.ViewModel
LoadProjekt(); LoadProjekt();
SchachtImportCommand = new RelayCommand((x) =>
{
navigatetoImport.Renavigate();
});
DatenExportCommand = new ProjectExportCommand(actualState, haltungDataService, schachtDataService, dataService);
} }
private async void LoadProjekt() private async void LoadProjekt()

View File

@@ -13,7 +13,7 @@ namespace StammGenerator.ViewModel
private readonly ISchachtDataService _schachtDataService; private readonly ISchachtDataService _schachtDataService;
private readonly ObservableCollection<Schacht> _schaechte; private readonly ObservableCollection<Schacht> _schaechte;
private readonly IActualState _actualState; private readonly IActualState _actualState;
private readonly IRenavigator renavigateToImport;
public ObservableCollection<Schacht> Schaechte { get => _schaechte; } public ObservableCollection<Schacht> Schaechte { get => _schaechte; }
@@ -22,26 +22,20 @@ namespace StammGenerator.ViewModel
public ICommand AddSchachtCommand { get; set; } public ICommand AddSchachtCommand { get; set; }
public ICommand EditSchachtCommand { get; set; } public ICommand EditSchachtCommand { get; set; }
public ICommand DeleteSchachtCommand { get; set; } public ICommand DeleteSchachtCommand { get; set; }
public ICommand ImportSchachtCommand { get; set; }
public ManholeListViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator ,IActualState actualState, IRenavigator navigatetoImport) public ManholeListViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator ,IActualState actualState)
{ {
_schachtDataService = schachtDataService; _schachtDataService = schachtDataService;
_actualState = actualState; _actualState = actualState;
_schaechte = new ObservableCollection<Schacht>(); _schaechte = new ObservableCollection<Schacht>();
renavigateToImport = navigatetoImport;
AddSchachtCommand = new SchachtAddCommand(actualState,renavigator); AddSchachtCommand = new SchachtAddCommand(actualState,renavigator);
EditSchachtCommand = new SchachtEditCommand(actualState, renavigator,this); EditSchachtCommand = new SchachtEditCommand(actualState, renavigator,this);
DeleteSchachtCommand = new SchachtDeleteCommand(schachtDataService, actualState, renavigator, this); DeleteSchachtCommand = new SchachtDeleteCommand(schachtDataService, actualState, renavigator, this);
ImportSchachtCommand = new RelayCommand((x) =>
{
navigatetoImport.Renavigate();
});
LoadSchaechte(); LoadSchaechte();
} }

View File

@@ -37,7 +37,12 @@
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Strasse}" /> <TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Strasse}" />
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding Ort}" /> <TextBox Grid.Column="1" Grid.Row="3" Text="{Binding Ort}" />
<Button Grid.ColumnSpan="2" Grid.Row="4" Content="Speichern" Command="{Binding Speichern}" /> <StackPanel Grid.ColumnSpan="2" Grid.Row="4">
<Button Content="Speichern" Command="{Binding Speichern}" />
<Button Content="Schächte aus CSV Importieren" Command="{Binding SchachtImportCommand}" />
<Button Content="Projektdaten nach Schnittstelle exportieren" Command="{Binding DatenExportCommand}" />
</StackPanel>
<ContentPresenter Grid.Column="3" Grid.RowSpan="6" Content="{Binding ProjektSettingsViewModel}" /> <ContentPresenter Grid.Column="3" Grid.RowSpan="6" Content="{Binding ProjektSettingsViewModel}" />

View File

@@ -26,7 +26,7 @@
<Button Content="Schacht hinzufügen" Command="{Binding AddSchachtCommand}" /> <Button Content="Schacht hinzufügen" Command="{Binding AddSchachtCommand}" />
<Button Content="Schacht Editieren" Command="{Binding EditSchachtCommand}" /> <Button Content="Schacht Editieren" Command="{Binding EditSchachtCommand}" />
<Button Content="Schacht Löschen" Command="{Binding DeleteSchachtCommand}" /> <Button Content="Schacht Löschen" Command="{Binding DeleteSchachtCommand}" />
<Button Content="Schächte aus CSV Laden" Command="{Binding ImportSchachtCommand}" /> <!--<Button Content="Schächte aus CSV Laden" Command="{Binding ImportSchachtCommand}" />-->
</StackPanel> </StackPanel>
</Grid> </Grid>
</UserControl> </UserControl>