Files
SewerGenerator/SewerStammGen.WPF/ViewModel/Schacht/ManholeImportViewModel.cs
Damian Wessels 455d23e3ad Testdateien hinzugefügt.
Schächte werden Importiert
2023-04-18 21:06:28 +02:00

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();
}
}
}