Haltung Edit hinzugefügt
This commit is contained in:
@@ -3,6 +3,7 @@ using SewerStammGen.Shared.Contracts;
|
||||
using SewerStammGen.Shared.Domain;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -77,9 +78,32 @@ namespace SewerStammGen.DAL.Services.PostgresqlData
|
||||
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)
|
||||
{
|
||||
Debugger.Break();
|
||||
_haltungEditViewModel.Model = await _haltungDataService.Update(_haltungEditViewModel.Model);
|
||||
|
||||
_renavigator.Renavigate();
|
||||
|
||||
@@ -77,7 +77,8 @@ namespace SewerStammGen.HostBuilders
|
||||
return () => new HaltungEditViewModel(
|
||||
services.GetRequiredService<IHaltungDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>()
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>(),
|
||||
services.GetRequiredService<ISchachtDataService>()
|
||||
);
|
||||
});
|
||||
#endregion
|
||||
|
||||
@@ -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,6 +20,48 @@ 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;
|
||||
|
||||
@@ -31,43 +74,25 @@ namespace SewerStammGen.WPF.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public string _oberePunkt { get; set; }
|
||||
public string _unterePunkt { get; set; }
|
||||
private void RecalculateLength()
|
||||
{
|
||||
|
||||
public string ObereSchacht
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,8 +29,10 @@
|
||||
<Label Grid.Row="1" Grid.Column="0" Content="Untere Schacht" />
|
||||
<Label Grid.Row="2" Grid.Column="0" Content="Haltungsbezeichnung" />
|
||||
|
||||
<TextBox Grid.Row="0" Grid.Column="1" Margin="5" Text="{Binding ObereSchacht}" />
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" Text="{Binding UntereSchacht}" />
|
||||
<!--<TextBox Grid.Row="0" Grid.Column="1" Margin="5" Text="{Binding ObereSchacht}" />-->
|
||||
<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}" />
|
||||
</Grid>
|
||||
|
||||
|
||||
@@ -8,8 +8,15 @@
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<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>
|
||||
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
|
||||
<Button Content="Editieren" Command="{Binding EditCommand}" />
|
||||
|
||||
Reference in New Issue
Block a user