SchachtDataService hinzugefügt

This commit is contained in:
2023-04-13 14:08:48 +02:00
parent 047e036442
commit 47aba01cb4
28 changed files with 360 additions and 237 deletions

View File

@@ -1,6 +1,7 @@
using SewerStammGen.Shared.Contracts;
using SewerStammGen.Shared.Domain;
using SewerStammGen.WPF.Commands;
using SewerStammGen.WPF.Interface.Navigator;
using SewerStammGen.WPF.ViewModel.State;
using Shared.Contracts;
using System;
@@ -17,7 +18,7 @@ namespace SewerStammGen.WPF.ViewModel
internal class HaltungEditViewModel : BaseViewModel
{
private readonly IActualState _actualState;
//private readonly IHaltungDataService _kanalDataService;
private readonly IHaltungDataService _haltungDataService;
private Kanal _model;
@@ -113,32 +114,20 @@ namespace SewerStammGen.WPF.ViewModel
public ICommand Speichern { get; set; }
public HaltungEditViewModel(
IActualState actualState)
IHaltungDataService haltungDataService,
IActualState actualState,
IRenavigator renavigator)
{
_actualState = actualState;
//_kanalDataService = kanalDataService;
_haltungDataService = haltungDataService;
_model = _actualState.SelectedHaltung;
_oberePunkt = _model.StartSchacht.Objektbezeichnung;
_unterePunkt = _model.EndSchacht.Objektbezeichnung;
Speichern = new HaltungEditSaveCommand(_haltungDataService,renavigator,this);
_model = new Kanal();
Speichern = new HaltungEditSaveCommand(this);
LoadModel();
}
private async void LoadModel()
{
/*_model = await _kanalDataService.Get(_actualState.HaltungID);
UntereSchacht = _model.EndSchacht.Objektbezeichnung;
ObereSchacht = _model.StartSchacht.Objektbezeichnung;
OnPropertyChanged(nameof(ObereSchacht));
OnPropertyChanged(nameof(UntereSchacht));
OnPropertyChanged(nameof(Haltungslaenge));
OnPropertyChanged(nameof(Haltungsbezeichnung));
OnPropertyChanged(nameof(Material));
OnPropertyChanged(nameof(Durchmesser));
*/
}
}
}

View File

@@ -17,7 +17,7 @@ namespace SewerStammGen.WPF.ViewModel
{
private readonly ObservableCollection<Kanal> _haltungen;
private readonly IActualState _actualState;
//private readonly IHaltungDataService _haltungDataService;
private readonly IHaltungDataService _haltungDataService;
public Kanal? SelectedHaltung { get; set; }
public ObservableCollection<Kanal> Haltungen { get => _haltungen; }
@@ -25,9 +25,10 @@ namespace SewerStammGen.WPF.ViewModel
public ICommand EditCommand { get; set; }
public ICommand AddCommand { get; set; }
public HaltungListViewModel( IActualState actualState, IRenavigator renavigator )
public HaltungListViewModel(IHaltungDataService haltungDataService, IActualState actualState, IRenavigator renavigator )
{
_haltungen = new ObservableCollection<Kanal>();
_haltungDataService = haltungDataService;
_actualState = actualState;
@@ -40,9 +41,9 @@ namespace SewerStammGen.WPF.ViewModel
private async void LoadHaltungen()
{
/* var haltungen = await _haltungDataService.GetAll(_actualState.ProjektID);
var haltungen = await _haltungDataService.GetAllByProjekt(_actualState.ProjektID);
InitCollection(_haltungen, haltungen);
*/
}
private void InitCollection(ObservableCollection<Kanal> dest, IEnumerable<Kanal> source)

View File

@@ -103,14 +103,8 @@ namespace SewerStammGen.WPF.ViewModel
private void SaveProject()
{
if (_model.Id == 0) // Handelt sich um ein neuen Eintrag
{
_dataService.Create(_model);
}
else
{
_dataService.Update(_model);
}
_dataService.Update(_model);
_renavigator.Renavigate();
}
}

View File

@@ -1,4 +1,6 @@
using SewerStammGen.Shared.Domain;
using SewerStammGen.Shared.Contracts;
using SewerStammGen.Shared.Domain;
using SewerStammGen.WPF.Interface.Navigator;
using SewerStammGen.WPF.ViewModel.State;
using Shared.Contracts;
using System;
@@ -12,8 +14,8 @@ namespace SewerStammGen.WPF.ViewModel
{
public class ManholeEditViewModel : BaseViewModel
{
private readonly IActualState _actualState;
private readonly IDataService<Schacht> _schachtDataService;
private readonly ISchachtDataService _schachtDataService;
private readonly IRenavigator _renavigator;
private Schacht _model;
@@ -94,33 +96,27 @@ namespace SewerStammGen.WPF.ViewModel
}
}
public ManholeEditViewModel(IDataService<Schacht> schachtDataService,IActualState actualState)
public ManholeEditViewModel(ISchachtDataService schachtDataService,IActualState actualState, IRenavigator renavigator)
{
_actualState = actualState;
_schachtDataService = schachtDataService;
_model = new Schacht();
_model = actualState.SelectedSchacht;
_renavigator = renavigator;
Speichern = new RelayCommand((x) => SaveSchacht());
LoadModel();
}
private void SaveSchacht()
private async void SaveSchacht()
{
//_schachtDataService.Update(_model.Id, _model);
}
private async void LoadModel()
{
_model = await _schachtDataService.Get(_actualState.SchachtID);
OnPropertyChanged(nameof(Entwaeserung));
OnPropertyChanged(nameof(Objektbezeichnung));
OnPropertyChanged(nameof(HochWert));
OnPropertyChanged(nameof(RechtsWert));
OnPropertyChanged(nameof(DeckelHoehe));
OnPropertyChanged(nameof(SohlHoehe));
if (_model.Id == 0)
{
await _schachtDataService.Create(_model);
}
else
{
await _schachtDataService.Update(_model);
}
_renavigator.Renavigate();
}
}
}

View File

@@ -16,7 +16,7 @@ namespace SewerStammGen.WPF.ViewModel
{
public class ManholeListViewModel : BaseViewModel
{
private ISchachtDataService _schachtDataService;
private readonly ISchachtDataService _schachtDataService;
private readonly ObservableCollection<Schacht> _schaechte;
private readonly IActualState _actualState;
@@ -29,7 +29,7 @@ namespace SewerStammGen.WPF.ViewModel
public ICommand DeleteSchachtCommand { get; set; }
public ManholeListViewModel(ISchachtDataService schachtDataService, IDataService<Projekt> projektService,IRenavigator renavigator ,IActualState actualState)
public ManholeListViewModel(ISchachtDataService schachtDataService, IRenavigator renavigator ,IActualState actualState)
{
_schachtDataService = schachtDataService;
_actualState = actualState;
@@ -37,8 +37,8 @@ namespace SewerStammGen.WPF.ViewModel
_schaechte = new ObservableCollection<Schacht>();
AddSchachtCommand = new SchachtAddCommand(projektService, actualState,renavigator);
EditSchachtCommand = new SchachtEditCommand(schachtDataService, actualState, renavigator,this);
AddSchachtCommand = new SchachtAddCommand(actualState,renavigator);
EditSchachtCommand = new SchachtEditCommand(actualState, renavigator,this);
DeleteSchachtCommand = new SchachtDeleteCommand(schachtDataService, actualState, renavigator, this);
LoadSchaechte();
@@ -46,8 +46,8 @@ namespace SewerStammGen.WPF.ViewModel
private async void LoadSchaechte()
{
//var schaechte = await _schachtDataService.GetAll(_actualState.ProjektID);
//InitCollection(_schaechte, schaechte);
var schaechte = await _schachtDataService.GetAllByProjekt(_actualState.ProjektID);
InitCollection(_schaechte, schaechte);
}
private void InitCollection(ObservableCollection<Schacht> dest, IEnumerable<Schacht> source)

View File

@@ -14,6 +14,9 @@ namespace SewerStammGen.WPF.ViewModel.State
public int SchachtID { get; private set; }
public int HaltungID { get; private set; }
public Schacht SelectedSchacht { get; private set; }
public Kanal SelectedHaltung {get; private set; }
public void SetProjekt(Projekt projekt, bool notification = true)
{
@@ -25,6 +28,7 @@ namespace SewerStammGen.WPF.ViewModel.State
}
public void SetSchacht(Schacht schacht, bool notification = true)
{
SelectedSchacht = schacht;
SchachtID = schacht.Id;
if(notification)
{
@@ -33,6 +37,7 @@ namespace SewerStammGen.WPF.ViewModel.State
}
public void SetHaltung(Kanal haltung, bool notification = true)
{
SelectedHaltung = haltung;
HaltungID = haltung.Id;
if(notification)
{

View File

@@ -14,6 +14,8 @@ namespace SewerStammGen.WPF.ViewModel.State
int ProjektID { get; set; }
int SchachtID { get; }
int HaltungID { get; }
Schacht SelectedSchacht { get; }
Kanal SelectedHaltung { get; }
void SetProjekt(Projekt projekt, bool notification = true);
void SetSchacht(Schacht schacht, bool notification = true);