Implemented flat editing logic.

This commit is contained in:
Tobias Erbshäußer
2020-06-11 10:30:45 +02:00
parent 7274b9b6b2
commit 9a4589f864
12 changed files with 140 additions and 24 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ using System;
// ReSharper disable MemberCanBeProtected.Global
// ReSharper disable InconsistentNaming
namespace ucalc.Annotations
namespace UCalc.Annotations
{
/// <summary>
/// Indicates that the value of the marked element could be <c>null</c> sometimes,
+1
View File
@@ -48,6 +48,7 @@ namespace UCalc
{
var page = (HousePage) ((Frame) sender).Content;
page.Model = Model.HouseModel;
page.ParentWindow = this;
}
}
}
+1 -1
View File
@@ -4,7 +4,7 @@ using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Data;
using ucalc.Annotations;
using UCalc.Annotations;
namespace UCalc.Controls
{
+1 -1
View File
@@ -7,7 +7,7 @@
xmlns:controls="clr-namespace:UCalc.Controls"
mc:Ignorable="d">
<Grid Margin="10, 0, 5, 0">
<Grid Margin="10, 0, 10, 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
+74
View File
@@ -0,0 +1,74 @@
<Window x:Class="UCalc.FlatWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:UCalc"
xmlns:controls="clr-namespace:UCalc.Controls"
mc:Ignorable="d"
Title="Wohnung bearbeiten"
Width="500"
SizeToContent="Height"
MinWidth="400"
MinHeight="190"
WindowStartupLocation="CenterOwner"
ShowInTaskbar="False">
<DockPanel>
<StackPanel DockPanel.Dock="Bottom">
<Separator Margin="0, 12, 0, 0"
Background="{x:Static local:Constants.SubMainColor}"/>
<DockPanel LastChildFill="False">
<Button DockPanel.Dock="Right"
MinWidth="100"
MinHeight="24"
Margin="12"
Content="OK"
Click="OnOkClick"/>
</DockPanel>
</StackPanel>
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto">
<StackPanel>
<controls:SectionHeader Header="Allgemeine Informationen" />
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Name:"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
DockPanel.Dock="Right"
VerticalAlignment="Center"
Errors="{Binding Path=Model.Name.Errors, RelativeSource={RelativeSource AncestorType=local:FlatWindow}}" />
<TextBox
VerticalAlignment="Center"
MinHeight="22"
Text="{Binding Path=Model.Name.Value, RelativeSource={RelativeSource AncestorType=local:FlatWindow}, UpdateSourceTrigger=PropertyChanged}" />
</DockPanel>
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Größe in m²:"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
DockPanel.Dock="Right"
VerticalAlignment="Center"
Errors="{Binding Path=Model.Size.Errors, RelativeSource={RelativeSource AncestorType=local:FlatWindow}}" />
<TextBox
VerticalAlignment="Center"
MinHeight="22"
Text="{Binding Path=Model.Size.Value, RelativeSource={RelativeSource AncestorType=local:FlatWindow}, UpdateSourceTrigger=PropertyChanged}" />
</DockPanel>
</StackPanel>
</ScrollViewer>
</DockPanel>
</Window>
+21
View File
@@ -0,0 +1,21 @@
using System.Windows;
using UCalc.Models;
namespace UCalc
{
public partial class FlatWindow
{
public FlatModel Model { get; }
public FlatWindow(FlatModel model)
{
Model = model;
InitializeComponent();
}
private void OnOkClick(object sender, RoutedEventArgs e)
{
Close();
}
}
}
+3 -1
View File
@@ -4,7 +4,7 @@ using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using ucalc.Annotations;
using UCalc.Annotations;
namespace UCalc.Models
{
@@ -133,6 +133,8 @@ namespace UCalc.Models
_modified = true;
_value = value;
OnPropertyChanged("Value");
}
}
+4 -1
View File
@@ -12,6 +12,8 @@
WindowStartupLocation="CenterOwner"
PreviewMouseUp="OnPreviewMouseUp">
<!-- TODO: Wrap in scroll to handle small screens! -->
<StackPanel Margin="12">
<Label Content="Geben Sie den Zeitraum ein, für den die neue Abrechnung gelten soll."
@@ -67,7 +69,8 @@
</ComboBox>
</DockPanel>
<Separator Margin="0, 0, 0, 12" />
<Separator Margin="0, 0, 0, 12"
Background="{x:Static local:Constants.SubMainColor}" />
<DockPanel LastChildFill="False">
<Button DockPanel.Dock="Right"
+6 -5
View File
@@ -16,7 +16,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Straße:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -33,7 +33,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Hausnummer:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -50,7 +50,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Stadt:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -67,7 +67,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="PLZ:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -140,7 +140,8 @@
</controls:HighlightButton>
<controls:HighlightButton HighlightForeground="{x:Static local:Constants.SubMainColor}"
HighlightBackground="{x:Static local:Constants.MainColor}">
HighlightBackground="{x:Static local:Constants.MainColor}"
Click="OnFlatEditClick">
<controls:ErrorIcon Errors="{Binding Errors}"
DockPanel.Dock="Left"
+8
View File
@@ -6,6 +6,7 @@ namespace UCalc.Pages
{
public partial class HousePage
{
public Window ParentWindow { get; set; }
public HouseModel Model { get; set; }
public HousePage()
@@ -28,5 +29,12 @@ namespace UCalc.Pages
Model.RemoveFlat(flatModel);
}
}
private void OnFlatEditClick(object sender, RoutedEventArgs e)
{
var flatModel = (FlatModel) ((HighlightButton) sender).DataContext;
new FlatWindow(flatModel) {Owner = ParentWindow}.ShowDialog();
}
}
}
+11 -11
View File
@@ -16,7 +16,7 @@
<DockPanel Margin="12, 12, 12, 0">
<Label DockPanel.Dock="Left"
Content="Anrede:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<ComboBox Margin="0, 0, 28, 0" /> <!-- TODO -->
@@ -25,7 +25,7 @@
<DockPanel Margin="12, 12, 12, 0">
<Label DockPanel.Dock="Left"
Content="Name:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -42,7 +42,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Telefonnummer:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -59,7 +59,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Email Adresse:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -79,7 +79,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Straße:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -96,7 +96,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Hausnummer:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -113,7 +113,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="Stadt:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -130,7 +130,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="PLZ:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -150,7 +150,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="IBAN:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -167,7 +167,7 @@
<DockPanel Margin="12, 8, 12, 0">
<Label DockPanel.Dock="Left"
Content="BIC:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
@@ -184,7 +184,7 @@
<DockPanel Margin="12, 8, 12, 12">
<Label DockPanel.Dock="Left"
Content="Name der Bank:"
Width="200"
Width="180"
Foreground="{x:Static local:Constants.SubMainColor}" />
<controls:ErrorIcon Margin="12, 0, 0, 0"
+6
View File
@@ -37,6 +37,9 @@
<Page Update="Controls\SectionHeader.xaml">
<Generator></Generator>
</Page>
<Page Update="FlatWindow.xaml">
<Generator></Generator>
</Page>
</ItemGroup>
<ItemGroup>
@@ -70,6 +73,9 @@
<Compile Update="Controls\SectionHeader.xaml.cs">
<DependentUpon>SectionHeader.xaml</DependentUpon>
</Compile>
<Compile Update="FlatWindow.xaml.cs">
<DependentUpon>FlatWindow.xaml</DependentUpon>
</Compile>
</ItemGroup>
</Project>