Testdateien hinzugefügt.
Schächte werden Importiert
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
using SewerStammGen.Shared.Contracts;
|
||||
using SewerStammGen.Shared.Domain;
|
||||
using SewerStammGen.WPF.Interface.Navigator;
|
||||
using SewerStammGen.WPF.Services;
|
||||
using SewerStammGen.WPF.ViewModel.State;
|
||||
using Shared.Contracts;
|
||||
using System;
|
||||
using System.CodeDom;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using WWTech_KanalSchnittstelle.Importer;
|
||||
|
||||
namespace SewerStammGen.WPF.ViewModel
|
||||
{
|
||||
public class ManholeImportViewModel : BaseViewModel
|
||||
{
|
||||
private readonly ISchachtDataService schachtDataService;
|
||||
private readonly IRenavigator renavigator;
|
||||
private OpenFileDialogService fileDialogService;
|
||||
|
||||
private string filename = string.Empty;
|
||||
public string FileName
|
||||
{
|
||||
get => filename;
|
||||
set
|
||||
{
|
||||
if (filename == value) return;
|
||||
filename = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand LoadFile { get; set; }
|
||||
public ICommand OpenFileDialogCommand { get; set; }
|
||||
|
||||
private readonly IImport importer;
|
||||
|
||||
public ManholeImportViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator, IActualState actualState)
|
||||
{
|
||||
#if DEBUG
|
||||
FileName = @"C:\Users\damia\source\repos\Stammdatengenerator\Beispieldaten\Koordinatendatei.csv";
|
||||
#endif
|
||||
LoadFile = new RelayCommand((x) => importFile());
|
||||
this.schachtDataService = schachtDataService;
|
||||
|
||||
importer = new CSVImporter(actualState.ProjektID);
|
||||
this.renavigator = renavigator;
|
||||
this.fileDialogService = new OpenFileDialogService();
|
||||
this.OpenFileDialogCommand = new RelayCommand((x) =>
|
||||
{
|
||||
FileName = fileDialogService.OpenFileDialog();
|
||||
});
|
||||
}
|
||||
|
||||
private async void importFile()
|
||||
{
|
||||
var schaechte = importer.LoadSchaechte(FileName, EEntwaeserung.Mischwasser);
|
||||
if (schaechte != null)
|
||||
{
|
||||
await schachtDataService.InsertSchachtBulk(schaechte);
|
||||
}
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,8 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
private readonly ISchachtDataService _schachtDataService;
|
||||
private readonly ObservableCollection<Schacht> _schaechte;
|
||||
private readonly IActualState _actualState;
|
||||
|
||||
private readonly IRenavigator renavigateToImport;
|
||||
|
||||
public ObservableCollection<Schacht> Schaechte { get => _schaechte; }
|
||||
|
||||
public Schacht? SelectedSchacht { get; set; }
|
||||
@@ -27,20 +28,27 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
public ICommand AddSchachtCommand { get; set; }
|
||||
public ICommand EditSchachtCommand { get; set; }
|
||||
public ICommand DeleteSchachtCommand { get; set; }
|
||||
public ICommand ImportSchachtCommand { get; set; }
|
||||
|
||||
|
||||
|
||||
public ManholeListViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator ,IActualState actualState)
|
||||
public ManholeListViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator ,IActualState actualState, IRenavigator navigatetoImport)
|
||||
{
|
||||
_schachtDataService = schachtDataService;
|
||||
_actualState = actualState;
|
||||
|
||||
_schaechte = new ObservableCollection<Schacht>();
|
||||
|
||||
renavigateToImport = navigatetoImport;
|
||||
|
||||
AddSchachtCommand = new SchachtAddCommand(actualState,renavigator);
|
||||
EditSchachtCommand = new SchachtEditCommand(actualState, renavigator,this);
|
||||
DeleteSchachtCommand = new SchachtDeleteCommand(schachtDataService, actualState, renavigator, this);
|
||||
ImportSchachtCommand = new RelayCommand((x) =>
|
||||
{
|
||||
navigatetoImport.Renavigate();
|
||||
});
|
||||
|
||||
|
||||
LoadSchaechte();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user