Schäden können nun hinzugefügt werden
This commit is contained in:
@@ -7,6 +7,6 @@ namespace KanSan.Base.Interfaces.UI
|
||||
{
|
||||
public interface ISchaedenListViewModel
|
||||
{
|
||||
List<Schaeden> Schaeden { get; set; }
|
||||
List<Schaeden> Schaeden { get;}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,6 @@
|
||||
<ProjectReference Include="..\KanSan.Base\KanSan.Base.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Schaeden\" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
|
||||
<Exec Command="git rev-parse HEAD >"$(ProjectDir)\version.txt" />
|
||||
</Target>
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
using KanSan.Base.Enums;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
@@ -17,6 +19,7 @@ namespace KanSan.ViewModel
|
||||
bool rissbruchscherbe;
|
||||
bool einragendeStutzen;
|
||||
ESanierung sanierungstyp;
|
||||
private Schaeden model;
|
||||
|
||||
#region GetSetters
|
||||
public decimal Entfernung
|
||||
@@ -78,5 +81,27 @@ namespace KanSan.ViewModel
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public SchaedenEditViewModel(Schaeden schaeden)
|
||||
{
|
||||
this.model = schaeden;
|
||||
entfernung = model.Entfernung;
|
||||
wurzelInkrustation = model.WurzelInkrustationAblagerungen;
|
||||
rissbruchscherbe = model.RissBruchScherbe;
|
||||
einragendeStutzen = model.StutzenEinragend;
|
||||
sanierungstyp = model.SanierungsTyp;
|
||||
}
|
||||
|
||||
public void Speichern()
|
||||
{
|
||||
model.Entfernung = entfernung;
|
||||
model.WurzelInkrustationAblagerungen = wurzelInkrustation;
|
||||
model.RissBruchScherbe = rissbruchscherbe;
|
||||
model.StutzenEinragend = einragendeStutzen;
|
||||
unitOfWork.SchaedenRepository.Update(model);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
44
KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs
Normal file
44
KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class SchaedenListViewModel : ISchaedenListViewModel
|
||||
{
|
||||
private Sewer actualSelectedSewer;
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
|
||||
private List<Schaeden> schaeden;
|
||||
|
||||
|
||||
public List<Schaeden> Schaeden { get => schaeden; }
|
||||
|
||||
public SchaedenListViewModel(Sewer actualSelectedSewer)
|
||||
{
|
||||
this.actualSelectedSewer = actualSelectedSewer;
|
||||
schaeden = unitOfWork.SchaedenRepository.Get(x => x.Sewer.Equals(actualSelectedSewer)).ToList();
|
||||
}
|
||||
|
||||
public Schaeden NeueSchaden()
|
||||
{
|
||||
Guid guid = Guid.NewGuid();
|
||||
Schaeden neueSchaden = new Schaeden()
|
||||
{
|
||||
GuidNr = guid,
|
||||
Sewer = actualSelectedSewer
|
||||
};
|
||||
unitOfWork.SchaedenRepository.Update(neueSchaden,false);
|
||||
unitOfWork.Commit();
|
||||
|
||||
List<Schaeden> res = unitOfWork.SchaedenRepository.Get(x => x.GuidNr.Equals(guid)).ToList();
|
||||
if (res.Count < 1) throw new Exception("Der zuvor eingefügte Schäden konnte nicht gefunden werden");
|
||||
return res.First();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class SchaedenListViewModel : ISchaedenListViewModel
|
||||
{
|
||||
private Sewer actualSelectedSewer;
|
||||
|
||||
|
||||
|
||||
public List<Schaeden> Schaeden { get => actualSelectedSewer.Schaeden; set => throw new NotImplementedException(); }
|
||||
|
||||
public SchaedenListViewModel(Sewer actualSelectedSewer)
|
||||
{
|
||||
this.actualSelectedSewer = actualSelectedSewer;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,16 @@ namespace KanSan.ViewModel
|
||||
{
|
||||
private Sewer model;
|
||||
|
||||
public Sewer Objekt
|
||||
{
|
||||
get => model;
|
||||
}
|
||||
|
||||
public string ObjektBezeichnung
|
||||
{
|
||||
get
|
||||
{
|
||||
return model.ObjektNummer;
|
||||
return string.Format("{0} ({1})",model.ObjektNummer,model.StrasseName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<Compile Update="UI\Schäden\UCSchaedenEdit.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="UI\UCSewerMainMenu.xaml.cs">
|
||||
<Compile Update="UI\UCSewerMainWindow.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
@@ -90,7 +90,7 @@
|
||||
<Page Update="UI\Schäden\UCSchaedenEdit.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="UI\UCSewerMainMenu.xaml">
|
||||
<Page Update="UI\UCSewerMainWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
<RadioButton Name="rbProjekte" Content="Projekte" Style="{StaticResource ToggelButtonList}" Checked="rbProjekte_Checked" />
|
||||
<RadioButton Name="rbBaustellen" Content="Baustellen" Style="{StaticResource ToggelButtonList}" Checked="rbBaustellen_Checked" />
|
||||
<RadioButton x:Name="rbObjekte" Content="Objekte" Style="{StaticResource ToggelButtonList}" Checked="rbObjekte_Checked" />
|
||||
<ContentControl Name="SewerMainMenu" />
|
||||
</StackPanel>
|
||||
<ContentControl Grid.Column="1" Name="ContentController" Content="KanSan"/>
|
||||
<StatusBar Grid.ColumnSpan="2" Margin="0,1,0,0" Grid.Row="1">
|
||||
|
||||
@@ -117,28 +117,7 @@ namespace KanSan
|
||||
|
||||
uCSewerMainMenu = new UI.UCSewerMainMenu(e.Objekt);
|
||||
|
||||
uCSewerMainMenu.SewerMainMenuSelected += UCSewerMainMenu_SewerMainMenuSelected;
|
||||
SewerMainMenu.Content = uCSewerMainMenu;
|
||||
|
||||
}
|
||||
|
||||
private void UCSewerMainMenu_SewerMainMenuSelected(object sender, UI.SewerMainMenuItemSelectedEventArgs e)
|
||||
{
|
||||
Sewer actualSelectedSewer = (DataContext as MainWindowViewModel).SelectedObjekt;
|
||||
switch(e.Command)
|
||||
{
|
||||
case UI.ESewerMainMenuCommand.STAMMDATEN:
|
||||
ContentController.Content = new UI.UCObjektEdit(actualSelectedSewer);
|
||||
break;
|
||||
|
||||
case UI.ESewerMainMenuCommand.SCHAEDEN:
|
||||
ContentController.Content = new UI.UCSchaedenList(actualSelectedSewer);
|
||||
break;
|
||||
|
||||
case UI.ESewerMainMenuCommand.NONE:
|
||||
ContentController.Content = "Wird nicht unterstützt";
|
||||
break;
|
||||
}
|
||||
ContentController.Content = uCSewerMainMenu;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,8 +31,11 @@
|
||||
|
||||
<Label Grid.Row="0" Content="Entfernung" />
|
||||
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Entfernung}" />
|
||||
<CheckBox Grid.Row="1" Grid.ColumnSpan="2" Content="Wurzel / Inkrustation / Ablagerungen" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding WurzelInkrustationAblagerungen}" />
|
||||
<CheckBox Grid.Row="2" Grid.ColumnSpan="2" Content="Einragende Stutzen" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding EinragendeStutzen}" />
|
||||
<CheckBox Grid.Row="3" Grid.ColumnSpan="2" Content="Riss / Bruch / Scherbe" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding RissBruchScherbe}" />
|
||||
<StackPanel Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2">
|
||||
<CheckBox Content="Wurzel / Inkrustation / Ablagerungen" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding WurzelInkrustationAblagerungen}" />
|
||||
<CheckBox Content="Einragende Stutzen" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding EinragendeStutzen}" />
|
||||
<CheckBox Content="Riss / Bruch / Scherbe" Style="{StaticResource checkBoxCircle}" IsChecked="{Binding RissBruchScherbe}" />
|
||||
</StackPanel>
|
||||
<Button Grid.Row="3" Grid.ColumnSpan="2" Name="Speichern" Content="Speichern" Click="Speichern_Click" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using KanSan.Base.Models;
|
||||
using KanSan.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
@@ -18,9 +20,24 @@ namespace KanSan.UI
|
||||
/// </summary>
|
||||
public partial class UCSchaedenEdit : UserControl
|
||||
{
|
||||
public UCSchaedenEdit()
|
||||
public event EventHandler SpeichernClicked;
|
||||
public UCSchaedenEdit(Schaeden schaeden)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new SchaedenEditViewModel(schaeden);
|
||||
}
|
||||
|
||||
protected virtual void OnSpeichernClick(EventArgs e)
|
||||
{
|
||||
EventHandler handler = SpeichernClicked;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
private void Speichern_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
(DataContext as SchaedenEditViewModel).Speichern();
|
||||
OnSpeichernClick(EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,6 @@
|
||||
<DataGridCheckBoxColumn Header="Einragende
Stutzen" Width="auto" IsReadOnly="True" ElementStyle="{StaticResource checkBoxCircleSmall}" Binding="{Binding StutzenEinragend}" />
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<Button Grid.Row="1">Neue Schaden Hinzufügen</Button>
|
||||
<Button Grid.Row="1" Name="NewSchaden" Click="NewSchaden_Click" Content="Neue Schäden Hinzufügen" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -20,10 +20,31 @@ namespace KanSan.UI
|
||||
/// </summary>
|
||||
public partial class UCSchaedenList : UserControl
|
||||
{
|
||||
public event EventHandler<SelectSchaedenEventArgs> SchaedenSelected;
|
||||
public UCSchaedenList(Sewer actualSelectedSewer)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new SchaedenListViewModel(actualSelectedSewer);
|
||||
}
|
||||
|
||||
protected virtual void OnClickSchaedenSelect(SelectSchaedenEventArgs e)
|
||||
{
|
||||
EventHandler<SelectSchaedenEventArgs> handler = SchaedenSelected;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
private void NewSchaden_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OnClickSchaedenSelect(
|
||||
new SelectSchaedenEventArgs()
|
||||
{
|
||||
schaeden = (DataContext as SchaedenListViewModel).NeueSchaden()
|
||||
});
|
||||
}
|
||||
}
|
||||
public class SelectSchaedenEventArgs : EventArgs
|
||||
{
|
||||
public Schaeden schaeden { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
using KanSan.Base.Models;
|
||||
using KanSan.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace KanSan.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für UCSewerMainMenu.xaml
|
||||
/// </summary>
|
||||
public partial class UCSewerMainMenu : UserControl
|
||||
{
|
||||
public event EventHandler<SewerMainMenuItemSelectedEventArgs> SewerMainMenuSelected;
|
||||
|
||||
protected virtual void OnSewerMenuSelected(SewerMainMenuItemSelectedEventArgs e)
|
||||
{
|
||||
EventHandler<SewerMainMenuItemSelectedEventArgs> handler = SewerMainMenuSelected;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
|
||||
public UCSewerMainMenu(Sewer objekt)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new SewerMainMenuViewModel(objekt);
|
||||
Style style = this.FindResource("ToggelButtonList") as Style;
|
||||
|
||||
RadioButton radioButton = new RadioButton();
|
||||
radioButton.Name = "Schlauch122123";
|
||||
radioButton.Content = "Schlauchliner";
|
||||
radioButton.Style = style;
|
||||
radioButton.Checked += rbSewerMenuItem_Checked;
|
||||
|
||||
MenuItems.Children.Add(radioButton);
|
||||
}
|
||||
|
||||
private void rbSewerMenuItem_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RadioButton radioButton = (RadioButton)sender;
|
||||
if (radioButton == null) return;
|
||||
//Debugger.Break();
|
||||
ESewerMainMenuCommand command = ESewerMainMenuCommand.NONE;
|
||||
if (radioButton.Name.Equals("rbStammdaten")) command = ESewerMainMenuCommand.STAMMDATEN;
|
||||
else if (radioButton.Name.Equals("rbSchaeden")) command = ESewerMainMenuCommand.SCHAEDEN;
|
||||
|
||||
OnSewerMenuSelected(new SewerMainMenuItemSelectedEventArgs()
|
||||
{
|
||||
Command = command
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public enum ESewerMainMenuCommand
|
||||
{
|
||||
NONE,
|
||||
STAMMDATEN,
|
||||
SCHAEDEN,
|
||||
SANIERUNG,
|
||||
SCHAEDENEDIT
|
||||
}
|
||||
public class SewerMainMenuItemSelectedEventArgs : EventArgs
|
||||
{
|
||||
public ESewerMainMenuCommand Command { get; set; }
|
||||
public int Parameter { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -15,14 +15,24 @@
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="150" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="277*" />
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding Path=(self:SewerMainMenuViewModel.ObjektBezeichnung)}" />
|
||||
<StackPanel Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" Name="MenuItems">
|
||||
|
||||
<StackPanel Name="MenuItems">
|
||||
<TextBlock Text="{Binding Path=(self:SewerMainMenuViewModel.ObjektBezeichnung)}" />
|
||||
<RadioButton Name="rbStammdaten" Checked="rbSewerMenuItem_Checked" Style="{StaticResource ToggelButtonList}" Content="Stammdaten" />
|
||||
<RadioButton Name="rbSchaeden" Checked="rbSewerMenuItem_Checked" Style="{StaticResource ToggelButtonList}" Content="Schäden" />
|
||||
<RadioButton Name="rbSchlauch1" Checked="rbSewerMenuItem_Checked" Style="{StaticResource ToggelButtonList}" Content="Schlauchliner" />
|
||||
<RadioButton Name="rbSchachtAnb1" Checked="rbSewerMenuItem_Checked" Style="{StaticResource ToggelButtonList}" Content="Schachtanbindung 1" />
|
||||
<RadioButton Name="Kurzliner1" Checked="rbSewerMenuItem_Checked" Style="{StaticResource ToggelButtonList}" Content="Kurzliner" />
|
||||
</StackPanel>
|
||||
<ContentControl Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Name="ObjektContentcontroller" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
78
KanSan/UI/UCSewerMainWindow.xaml.cs
Normal file
78
KanSan/UI/UCSewerMainWindow.xaml.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using KanSan.Base.Models;
|
||||
using KanSan.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace KanSan.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für UCSewerMainMenu.xaml
|
||||
/// </summary>
|
||||
public partial class UCSewerMainMenu : UserControl
|
||||
{
|
||||
public UCSewerMainMenu(Sewer objekt)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new SewerMainMenuViewModel(objekt);
|
||||
UI.UCObjektEdit uCObjektEdit = new UCObjektEdit(objekt);
|
||||
ObjektContentcontroller.Content = uCObjektEdit;
|
||||
|
||||
Style style = this.FindResource("ToggelButtonList") as Style;
|
||||
|
||||
RadioButton radioButton = new RadioButton();
|
||||
radioButton.Name = "Schlauch122123";
|
||||
radioButton.Content = "Schlauchliner";
|
||||
radioButton.Style = style;
|
||||
radioButton.Checked += rbSewerMenuItem_Checked;
|
||||
|
||||
MenuItems.Children.Add(radioButton);
|
||||
}
|
||||
|
||||
private void rbSewerMenuItem_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RadioButton btn = (RadioButton)sender;
|
||||
if (btn == null) return;
|
||||
switch(btn.Name)
|
||||
{
|
||||
case "rbStammdaten":
|
||||
UI.UCObjektEdit uCObjektEdit = new UCObjektEdit((DataContext as SewerMainMenuViewModel).Objekt);
|
||||
ObjektContentcontroller.Content = uCObjektEdit;
|
||||
break;
|
||||
case "rbSchaeden":
|
||||
UI.UCSchaedenList uCSchaedenList = new UCSchaedenList((DataContext as SewerMainMenuViewModel).Objekt);
|
||||
uCSchaedenList.SchaedenSelected += UCSchaedenList_SchaedenSelected;
|
||||
ObjektContentcontroller.Content = uCSchaedenList;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void UCSchaedenList_SchaedenSelected(object sender, SelectSchaedenEventArgs e)
|
||||
{
|
||||
rbSchaeden.IsChecked = true;
|
||||
UI.UCSchaedenEdit uCSchaedenEdit = new UCSchaedenEdit(e.schaeden);
|
||||
uCSchaedenEdit.SpeichernClicked += UCSchaedenEdit_SpeichernClicked;
|
||||
ObjektContentcontroller.Content = uCSchaedenEdit;
|
||||
//throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void UCSchaedenEdit_SpeichernClicked(object sender, EventArgs e)
|
||||
{
|
||||
UI.UCSchaedenList uCSchaedenList = new UCSchaedenList((DataContext as SewerMainMenuViewModel).Objekt);
|
||||
uCSchaedenList.SchaedenSelected += UCSchaedenList_SchaedenSelected;
|
||||
ObjektContentcontroller.Content = uCSchaedenList;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user