52 lines
2.1 KiB
C#
52 lines
2.1 KiB
C#
using DaSaSo.Domain.Model;
|
|
using DaSaSo.Domain.Services;
|
|
using DaSaSo.Domain.Services.SewerPointServices;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DaSaSo.Wpf.ViewModel.Commands
|
|
{
|
|
class SaveSewerStammdatenCommand : AsyncCommandBase
|
|
{
|
|
private readonly SewerStammdatenViewModel _stammdatenViewModel;
|
|
private IDataService<SewerObject> _dataService;
|
|
private readonly ISewerpointService _sewerPointService;
|
|
|
|
public SaveSewerStammdatenCommand(SewerStammdatenViewModel stammdatenViewModel, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
|
|
{
|
|
_stammdatenViewModel = stammdatenViewModel;
|
|
_dataService = dataService;
|
|
_sewerPointService = sewerpointService;
|
|
}
|
|
public override async Task ExecuteAsync(object? parameter)
|
|
{
|
|
if (_stammdatenViewModel._oberepunkt != null)
|
|
{
|
|
if ((_stammdatenViewModel.Model.PunktOben == null) || (_stammdatenViewModel._oberepunkt != _stammdatenViewModel.Model.PunktOben.Objektnummer))
|
|
{
|
|
SewerPoint punktOben = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._oberepunkt);
|
|
_stammdatenViewModel.Model.PunktOben = punktOben;
|
|
}
|
|
}
|
|
if (_stammdatenViewModel._unterepunkt != null)
|
|
{
|
|
if ((_stammdatenViewModel.Model.PunktUnten == null) || (_stammdatenViewModel._unterepunkt != _stammdatenViewModel.Model.PunktUnten.Objektnummer))
|
|
{
|
|
SewerPoint punktUnten = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._unterepunkt);
|
|
_stammdatenViewModel.Model.PunktUnten = punktUnten;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
_stammdatenViewModel.Model = await _dataService.Update(_stammdatenViewModel.Model.Id, _stammdatenViewModel.Model);
|
|
Trace.WriteLine("Daten gespeichert");
|
|
}
|
|
}
|
|
}
|