Haltung Edit hinzugefügt
This commit is contained in:
@@ -11,6 +11,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace SewerStammGen.WPF.ViewModel
|
||||
@@ -19,7 +20,49 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
{
|
||||
private readonly IActualState _actualState;
|
||||
private readonly IHaltungDataService _haltungDataService;
|
||||
|
||||
private readonly ISchachtDataService _schachtDataService;
|
||||
private List<Schacht> avaibleSchaechte;
|
||||
|
||||
public List<Schacht> AvSchaechte
|
||||
{
|
||||
get
|
||||
{
|
||||
return avaibleSchaechte;
|
||||
}
|
||||
}
|
||||
|
||||
int _selectedObenIndex;
|
||||
int _selectedUntenIndex;
|
||||
|
||||
public int SelectedObenIndex
|
||||
{
|
||||
get => _selectedObenIndex;
|
||||
set
|
||||
{
|
||||
if (_selectedObenIndex != value)
|
||||
{
|
||||
_selectedObenIndex = value;
|
||||
_model.StartSchacht = avaibleSchaechte[value];
|
||||
RecalculateLength();
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public int SelectedUntenIndex
|
||||
{
|
||||
get => _selectedUntenIndex;
|
||||
set
|
||||
{
|
||||
if (_selectedUntenIndex != value)
|
||||
{
|
||||
_selectedUntenIndex = value;
|
||||
_model.EndSchacht = avaibleSchaechte[value];
|
||||
RecalculateLength();
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Kanal _model;
|
||||
|
||||
public Kanal Model
|
||||
@@ -30,44 +73,26 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
_model = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string _oberePunkt { get; set; }
|
||||
public string _unterePunkt { get; set; }
|
||||
|
||||
public string ObereSchacht
|
||||
private void RecalculateLength()
|
||||
{
|
||||
get => _oberePunkt;
|
||||
|
||||
set
|
||||
{
|
||||
if (_oberePunkt != value)
|
||||
{
|
||||
_oberePunkt = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string UntereSchacht
|
||||
{
|
||||
get => _unterePunkt;
|
||||
set
|
||||
{
|
||||
if (_unterePunkt != value)
|
||||
{
|
||||
_unterePunkt = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
double x1 = (double)Model.StartSchacht.RechtsWert;
|
||||
double x2 = (double)Model.EndSchacht.RechtsWert;
|
||||
double y1 = (double)Model.StartSchacht.HochWert;
|
||||
double y2 = (double)Model.EndSchacht.HochWert;
|
||||
|
||||
|
||||
double length = Math.Sqrt(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)));
|
||||
Haltungslaenge = length.ToString();
|
||||
OnPropertyChanged(nameof(Haltungslaenge));
|
||||
}
|
||||
public string Haltungsbezeichnung
|
||||
{
|
||||
get => _model.Objektbezeichnung;
|
||||
set
|
||||
{
|
||||
if(_model.Objektbezeichnung != value)
|
||||
if (_model.Objektbezeichnung != value)
|
||||
{
|
||||
_model.Objektbezeichnung = value;
|
||||
OnPropertyChanged();
|
||||
@@ -79,7 +104,7 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
get => _model.Material;
|
||||
set
|
||||
{
|
||||
if( _model.Material != value)
|
||||
if (_model.Material != value)
|
||||
{
|
||||
_model.Material = value;
|
||||
OnPropertyChanged();
|
||||
@@ -91,7 +116,7 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
get => _model.DN.ToString();
|
||||
set
|
||||
{
|
||||
if(_model.DN.ToString() != value)
|
||||
if (_model.DN.ToString() != value)
|
||||
{
|
||||
_model.DN = int.Parse(value);
|
||||
OnPropertyChanged();
|
||||
@@ -103,7 +128,7 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
get => _model.Haltungslaenge.ToString();
|
||||
set
|
||||
{
|
||||
if(_model.Haltungslaenge.ToString() != value)
|
||||
if (_model.Haltungslaenge.ToString() != value)
|
||||
{
|
||||
_model.Haltungslaenge = decimal.Parse(value);
|
||||
OnPropertyChanged();
|
||||
@@ -116,18 +141,52 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
public HaltungEditViewModel(
|
||||
IHaltungDataService haltungDataService,
|
||||
IActualState actualState,
|
||||
IRenavigator renavigator)
|
||||
IRenavigator renavigator,
|
||||
ISchachtDataService schachtDataService)
|
||||
{
|
||||
_actualState = actualState;
|
||||
_haltungDataService = haltungDataService;
|
||||
_schachtDataService = schachtDataService;
|
||||
|
||||
|
||||
|
||||
_model = _actualState.SelectedHaltung;
|
||||
_oberePunkt = _model.StartSchacht.Objektbezeichnung;
|
||||
_unterePunkt = _model.EndSchacht.Objektbezeichnung;
|
||||
Speichern = new HaltungEditSaveCommand(_haltungDataService,renavigator,this);
|
||||
|
||||
|
||||
|
||||
Speichern = new HaltungEditSaveCommand(_haltungDataService, renavigator, this);
|
||||
|
||||
ladeVerfuegbareSchaechte();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private async void ladeVerfuegbareSchaechte()
|
||||
{
|
||||
var s = await _schachtDataService.GetAllByProjekt(_actualState.ProjektID);
|
||||
avaibleSchaechte = s.ToList();
|
||||
int counter = 0;
|
||||
foreach (var d in avaibleSchaechte)
|
||||
{
|
||||
if (d.Id == Model.StartSchacht.Id)
|
||||
{
|
||||
SelectedObenIndex = counter;
|
||||
break;
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
counter = 0;
|
||||
foreach (var d in avaibleSchaechte)
|
||||
{
|
||||
if (d.Id == Model.EndSchacht.Id)
|
||||
{
|
||||
SelectedUntenIndex = counter;
|
||||
break;
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
OnPropertyChanged(nameof(AvSchaechte));
|
||||
OnPropertyChanged(nameof(SelectedObenIndex));
|
||||
OnPropertyChanged(nameof(SelectedUntenIndex));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user