Haltung Edit hinzugefügt
This commit is contained in:
@@ -3,6 +3,7 @@ using SewerStammGen.Shared.Contracts;
|
|||||||
using SewerStammGen.Shared.Domain;
|
using SewerStammGen.Shared.Domain;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -77,9 +78,32 @@ namespace SewerStammGen.DAL.Services.PostgresqlData
|
|||||||
return await GetAllByProjekt(projekt.Id);
|
return await GetAllByProjekt(projekt.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<Kanal> Update(Kanal entity)
|
public async Task<Kanal> Update(Kanal entity)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
|
||||||
|
string command = "UPDATE " + tableName + " SET " +
|
||||||
|
" \"Objektbezeichnung\"=@1, " +
|
||||||
|
" \"StartSchachtId\"=@2, " +
|
||||||
|
" \"EndSchachtId\"=@3, " +
|
||||||
|
" \"DN\"=@4, " +
|
||||||
|
" \"Material\"=@5, " +
|
||||||
|
" \"Haltungslaenge\"=@6, " +
|
||||||
|
" \"Entwaesserung\"=@7 " +
|
||||||
|
" WHERE \"Id\" = @8";
|
||||||
|
using(var cmd = new NpgsqlCommand(command,conn))
|
||||||
|
{
|
||||||
|
cmd.Parameters.AddWithValue("1", entity.Objektbezeichnung);
|
||||||
|
cmd.Parameters.AddWithValue("2", entity.StartSchacht.Id);
|
||||||
|
cmd.Parameters.AddWithValue("3", entity.EndSchacht.Id);
|
||||||
|
cmd.Parameters.AddWithValue("4", entity.DN);
|
||||||
|
cmd.Parameters.AddWithValue("5", entity.Material);
|
||||||
|
cmd.Parameters.AddWithValue("6", entity.Haltungslaenge);
|
||||||
|
cmd.Parameters.AddWithValue("7", (int)entity.Entwaesserung);
|
||||||
|
cmd.Parameters.AddWithValue("8", entity.Id);
|
||||||
|
|
||||||
|
await cmd.ExecuteNonQueryAsync();
|
||||||
|
}
|
||||||
|
return entity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ namespace SewerStammGen.WPF.Commands
|
|||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
|
Debugger.Break();
|
||||||
_haltungEditViewModel.Model = await _haltungDataService.Update(_haltungEditViewModel.Model);
|
_haltungEditViewModel.Model = await _haltungDataService.Update(_haltungEditViewModel.Model);
|
||||||
|
|
||||||
_renavigator.Renavigate();
|
_renavigator.Renavigate();
|
||||||
|
|||||||
@@ -77,7 +77,8 @@ namespace SewerStammGen.HostBuilders
|
|||||||
return () => new HaltungEditViewModel(
|
return () => new HaltungEditViewModel(
|
||||||
services.GetRequiredService<IHaltungDataService>(),
|
services.GetRequiredService<IHaltungDataService>(),
|
||||||
services.GetRequiredService<IActualState>(),
|
services.GetRequiredService<IActualState>(),
|
||||||
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>()
|
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>(),
|
||||||
|
services.GetRequiredService<ISchachtDataService>()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
namespace SewerStammGen.WPF.ViewModel
|
namespace SewerStammGen.WPF.ViewModel
|
||||||
@@ -19,6 +20,48 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
{
|
{
|
||||||
private readonly IActualState _actualState;
|
private readonly IActualState _actualState;
|
||||||
private readonly IHaltungDataService _haltungDataService;
|
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;
|
private Kanal _model;
|
||||||
|
|
||||||
@@ -31,43 +74,25 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string _oberePunkt { get; set; }
|
private void RecalculateLength()
|
||||||
public string _unterePunkt { get; set; }
|
|
||||||
|
|
||||||
public string ObereSchacht
|
|
||||||
{
|
{
|
||||||
get => _oberePunkt;
|
|
||||||
|
|
||||||
set
|
double x1 = (double)Model.StartSchacht.RechtsWert;
|
||||||
{
|
double x2 = (double)Model.EndSchacht.RechtsWert;
|
||||||
if (_oberePunkt != value)
|
double y1 = (double)Model.StartSchacht.HochWert;
|
||||||
{
|
double y2 = (double)Model.EndSchacht.HochWert;
|
||||||
_oberePunkt = value;
|
|
||||||
OnPropertyChanged();
|
|
||||||
}
|
double length = Math.Sqrt(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)));
|
||||||
}
|
Haltungslaenge = length.ToString();
|
||||||
|
OnPropertyChanged(nameof(Haltungslaenge));
|
||||||
}
|
}
|
||||||
public string UntereSchacht
|
|
||||||
{
|
|
||||||
get => _unterePunkt;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_unterePunkt != value)
|
|
||||||
{
|
|
||||||
_unterePunkt = value;
|
|
||||||
OnPropertyChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public string Haltungsbezeichnung
|
public string Haltungsbezeichnung
|
||||||
{
|
{
|
||||||
get => _model.Objektbezeichnung;
|
get => _model.Objektbezeichnung;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if(_model.Objektbezeichnung != value)
|
if (_model.Objektbezeichnung != value)
|
||||||
{
|
{
|
||||||
_model.Objektbezeichnung = value;
|
_model.Objektbezeichnung = value;
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
@@ -79,7 +104,7 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
get => _model.Material;
|
get => _model.Material;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if( _model.Material != value)
|
if (_model.Material != value)
|
||||||
{
|
{
|
||||||
_model.Material = value;
|
_model.Material = value;
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
@@ -91,7 +116,7 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
get => _model.DN.ToString();
|
get => _model.DN.ToString();
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if(_model.DN.ToString() != value)
|
if (_model.DN.ToString() != value)
|
||||||
{
|
{
|
||||||
_model.DN = int.Parse(value);
|
_model.DN = int.Parse(value);
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
@@ -103,7 +128,7 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
get => _model.Haltungslaenge.ToString();
|
get => _model.Haltungslaenge.ToString();
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if(_model.Haltungslaenge.ToString() != value)
|
if (_model.Haltungslaenge.ToString() != value)
|
||||||
{
|
{
|
||||||
_model.Haltungslaenge = decimal.Parse(value);
|
_model.Haltungslaenge = decimal.Parse(value);
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
@@ -116,18 +141,52 @@ namespace SewerStammGen.WPF.ViewModel
|
|||||||
public HaltungEditViewModel(
|
public HaltungEditViewModel(
|
||||||
IHaltungDataService haltungDataService,
|
IHaltungDataService haltungDataService,
|
||||||
IActualState actualState,
|
IActualState actualState,
|
||||||
IRenavigator renavigator)
|
IRenavigator renavigator,
|
||||||
|
ISchachtDataService schachtDataService)
|
||||||
{
|
{
|
||||||
_actualState = actualState;
|
_actualState = actualState;
|
||||||
_haltungDataService = haltungDataService;
|
_haltungDataService = haltungDataService;
|
||||||
|
_schachtDataService = schachtDataService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_model = _actualState.SelectedHaltung;
|
_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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,10 @@
|
|||||||
<Label Grid.Row="1" Grid.Column="0" Content="Untere Schacht" />
|
<Label Grid.Row="1" Grid.Column="0" Content="Untere Schacht" />
|
||||||
<Label Grid.Row="2" Grid.Column="0" Content="Haltungsbezeichnung" />
|
<Label Grid.Row="2" Grid.Column="0" Content="Haltungsbezeichnung" />
|
||||||
|
|
||||||
<TextBox Grid.Row="0" Grid.Column="1" Margin="5" Text="{Binding ObereSchacht}" />
|
<!--<TextBox Grid.Row="0" Grid.Column="1" Margin="5" Text="{Binding ObereSchacht}" />-->
|
||||||
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" Text="{Binding UntereSchacht}" />
|
<ComboBox Grid.Row="0" Grid.Column="1" DisplayMemberPath="Objektbezeichnung" SelectedIndex="{Binding SelectedObenIndex}" ItemsSource="{Binding AvSchaechte}"></ComboBox>
|
||||||
|
<ComboBox Grid.Row="1" Grid.Column="1" DisplayMemberPath="Objektbezeichnung" SelectedIndex="{Binding SelectedUntenIndex}" ItemsSource="{Binding AvSchaechte}"></ComboBox>
|
||||||
|
<!--<TextBox Grid.Row="1" Grid.Column="1" Margin="5" Text="{Binding UntereSchacht}" />-->
|
||||||
<TextBox Grid.Row="2" Grid.Column="1" Margin="5" Text="{Binding Haltungsbezeichnung}" />
|
<TextBox Grid.Row="2" Grid.Column="1" Margin="5" Text="{Binding Haltungsbezeichnung}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,15 @@
|
|||||||
d:DesignHeight="450" d:DesignWidth="800">
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
<Grid>
|
<Grid>
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<DataGrid ItemsSource="{Binding Haltungen}" SelectedItem="{Binding SelectedHaltung}" IsReadOnly="False">
|
<DataGrid ItemsSource="{Binding Haltungen}" AutoGenerateColumns="False" SelectedItem="{Binding SelectedHaltung}" IsReadOnly="False">
|
||||||
|
<DataGrid.Columns>
|
||||||
|
<DataGridTextColumn Header="Objektbezeichnung" Binding="{Binding Objektbezeichnung}" />
|
||||||
|
<DataGridTextColumn Header="Obere Schacht" Binding="{Binding StartSchacht.Objektbezeichnung}" />
|
||||||
|
<DataGridTextColumn Header="Untere Schacht" Binding="{Binding EndSchacht.Objektbezeichnung}" />
|
||||||
|
<DataGridTextColumn Header="DN" Binding="{Binding DN}" />
|
||||||
|
<DataGridTextColumn Header="Material" Binding="{Binding Material}" />
|
||||||
|
<DataGridTextColumn Header="Haltungslänge" Binding="{Binding Haltungslaenge}" />
|
||||||
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
|
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
|
||||||
<Button Content="Editieren" Command="{Binding EditCommand}" />
|
<Button Content="Editieren" Command="{Binding EditCommand}" />
|
||||||
|
|||||||
Reference in New Issue
Block a user