70 lines
2.2 KiB
C#
70 lines
2.2 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|