Skip to content

Commit

Permalink
Avoid wrong inputs and enhance handling.
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanDeveloper committed Jun 28, 2017
1 parent 522d81e commit 86d4f61
Show file tree
Hide file tree
Showing 12 changed files with 87 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using System.Linq;
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using LigaManagerAdminClient.AdminClientService;
using LigaManagerAdminClient.Framework;
using LigaManagerAdminClient.ViewModels;
Expand Down Expand Up @@ -39,6 +41,7 @@ public override async void Initialize(MainWindow mainWindow)

MainWindow.Content = _view;
}


#region ExecuteCommands

Expand Down
11 changes: 11 additions & 0 deletions LigaManagerAdminClient/Controllers/MatchesWindowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Xml;
using System.Xml.Linq;
using LigaManagerAdminClient.AdminClientService;
Expand Down Expand Up @@ -46,9 +47,19 @@ public override async void Initialize(MainWindow mainWindow)
_viewModel.SelectionSeasonChanged += UpdateSeason;
#endregion

_view.MatchesDataGrid.Loaded += SetMinWidths;
MainWindow.Content = _view;
}

public void SetMinWidths(object source, EventArgs e)
{
foreach (var column in _view.MatchesDataGrid.Columns)
{
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
}
}

private async void ExecuteLoadMatchCommand(object obj)
{
// Create OpenFileDialog
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using LigaManagerAdminClient.AdminClientService;
using LigaManagerAdminClient.Framework;
using LigaManagerAdminClient.Models;
Expand Down Expand Up @@ -42,6 +44,7 @@ public override async void Initialize(MainWindow mainWindow)
MainWindow.Content = _view;
}


#region ExecuteCommands
protected override async void ExecuteAddCommand(object obj)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using System;
using System.Windows;
using System.Windows.Controls;

namespace LigaManagerAdminClient.Framework
{
public class SetMinWidthToAutoAttachedBehaviour
{
public static bool GetSetMinWidthToAuto(DependencyObject obj)
{
return (bool)obj.GetValue(SetMinWidthToAutoProperty);
}

public static void SetSetMinWidthToAuto(DependencyObject obj, bool value)
{
obj.SetValue(SetMinWidthToAutoProperty, value);
}

// Using a DependencyProperty as the backing store for SetMinWidthToAuto. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SetMinWidthToAutoProperty =
DependencyProperty.RegisterAttached("SetMinWidthToAuto", typeof(bool), typeof(SetMinWidthToAutoAttachedBehaviour), new UIPropertyMetadata(false, WireUpLoadedEvent));

public static void WireUpLoadedEvent(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var grid = (DataGrid)d;

var doIt = (bool)e.NewValue;

if (doIt)
{
grid.Loaded += SetMinWidths;
}
}

public static void SetMinWidths(object source, EventArgs e)
{
var grid = (DataGrid)source;

foreach (var column in grid.Columns)
{
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
}
}
}
}
1 change: 1 addition & 0 deletions LigaManagerAdminClient/LigaManagerAdminClient.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
<Compile Include="Controllers\SetMatchDayWindowController.cs" />
<Compile Include="Framework\AdminClientHelper.cs" />
<Compile Include="Framework\RelayCommand.cs" />
<Compile Include="Framework\SetMinWidthToAutoAttachedBehaviour.cs" />
<Compile Include="Framework\ViewModelBase.cs" />
<Compile Include="Models\SeasonCheckBox.cs" />
<Compile Include="Properties\Annotations.cs" />
Expand Down
6 changes: 3 additions & 3 deletions LigaManagerAdminClient/Views/AddBettorWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
<Image Source="/LigaManagerAdminClient;component/Data/Images/success.png" Height="31" Width="41" />
</StackPanel>
</Button>
<TextBox x:Name="NicknameTextBox" TextChanged="OnTextChangedNickname" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Bettor.Nickname, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True}" VerticalAlignment="Top" Width="172" />
<TextBox x:Name="FirstnameTextBox" Grid.Column="1" TextChanged="OnTextChanged" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="2" TextWrapping="Wrap" Text="{Binding Bettor.Firstname}" VerticalAlignment="Top" Width="172"/>
<TextBox x:Name="LastnameTextBox" Grid.Column="1" TextChanged="OnTextChanged" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="3" TextWrapping="Wrap" Text="{Binding Bettor.Lastname}" VerticalAlignment="Top" Width="172"/>
<TextBox x:Name="NicknameTextBox" MaxLength="50" TextChanged="OnTextChangedNickname" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Bettor.Nickname, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True}" VerticalAlignment="Top" Width="172" />
<TextBox x:Name="FirstnameTextBox" MaxLength="100" Grid.Column="1" TextChanged="OnTextChanged" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="2" TextWrapping="Wrap" Text="{Binding Bettor.Firstname}" VerticalAlignment="Top" Width="172"/>
<TextBox x:Name="LastnameTextBox" MaxLength="100" Grid.Column="1" TextChanged="OnTextChanged" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="3" TextWrapping="Wrap" Text="{Binding Bettor.Lastname}" VerticalAlignment="Top" Width="172"/>
<Label Content="Nickname" HorizontalAlignment="Left" Margin="10,8,0,0" Grid.Row="1" Grid.Column="0"
VerticalAlignment="Top" Width="80" Height="26"/>
<Label Content="Vorname" HorizontalAlignment="Left" Margin="10,8,0,0" Grid.Row="2" Grid.Column="0"
Expand Down
4 changes: 2 additions & 2 deletions LigaManagerAdminClient/Views/AddSeasonWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
</Grid.RowDefinitions>
<Label Content="Name" HorizontalAlignment="Left" Margin="10,8,0,0" Grid.Row="1" Grid.Column="0"
VerticalAlignment="Top" Width="80"/>
<TextBox x:Name="NameTextBox" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Season.Name}" VerticalAlignment="Top" Width="172"/>
<TextBox x:Name="NameTextBox" MaxLength="300" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Season.Name}" VerticalAlignment="Top" Width="172"/>
<Button x:Name="CancelButton" ToolTip="Abbrechen" Command="{Binding CancelCommand}" HorizontalAlignment="Left" Margin="15,5,0,0" Grid.Row="5"
Grid.Column="0" VerticalAlignment="Top" Width="60" Height="40">
<StackPanel>
Expand All @@ -33,7 +33,7 @@
<Image Source="/LigaManagerAdminClient;component/Data/Images/success.png" Height="31" Width="41" />
</StackPanel>
</Button>
<TextBox x:Name="DescriptionTextBox" Grid.Column="1" HorizontalAlignment="Left" Height="90" Margin="10,10,0,0" Grid.Row="2" TextWrapping="Wrap" Text="{Binding Season.Description}" VerticalAlignment="Top" Width="172" Grid.RowSpan="3"/>
<TextBox x:Name="DescriptionTextBox" MaxLength="1000" Grid.Column="1" HorizontalAlignment="Left" Height="90" Margin="10,10,0,0" Grid.Row="2" TextWrapping="Wrap" Text="{Binding Season.Description}" VerticalAlignment="Top" Width="172" Grid.RowSpan="3"/>
<Label Content="Beschreibung" HorizontalAlignment="Left" Margin="10,8,0,0" Grid.Row="2" Grid.Column="0"
VerticalAlignment="Top" Width="85"/>

Expand Down
6 changes: 3 additions & 3 deletions LigaManagerAdminClient/Views/AddTeamWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
CanUserReorderColumns="True" CanUserResizeColumns="True" AutoGenerateColumns="False" SelectedItem="{Binding SelectedBettor}"
CanUserResizeRows="False" CanUserSortColumns="True" SelectionMode="Single" CanUserAddRows="false" CanUserDeleteRows="False" Grid.Row="2" Grid.Column="1">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Season.Name}" IsReadOnly="True" />
<DataGridTextColumn Header="Beschreibung" Binding="{Binding Season.Description}" IsReadOnly="True" />
<DataGridTextColumn Header="Name" Binding="{Binding Season.Name}" IsReadOnly="True" MinWidth="100" MaxWidth="150" />
<DataGridTextColumn Header="Beschreibung" Binding="{Binding Season.Description}" IsReadOnly="True" MinWidth="100" MaxWidth="150" />
<DataGridCheckBoxColumn Header="Hinzugefügt" Binding="{Binding IsAdded}" IsReadOnly="False"/>
</DataGrid.Columns>
</DataGrid>
<Label Content="Name" HorizontalAlignment="Left" Margin="10,8,0,0" Grid.Row="1" Grid.Column="0"
VerticalAlignment="Top" Width="80" Height="26"/>
<TextBox x:Name="NameTextBox" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Team.Name}" VerticalAlignment="Top" Width="349"/>
<TextBox x:Name="NameTextBox" MaxLength="300" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding Team.Name}" VerticalAlignment="Top" Width="349"/>
<Button x:Name="CancelButton" ToolTip="Abbrechen" Command="{Binding CancelCommand}" HorizontalAlignment="Left" Margin="35,10,0,0" Grid.Row="3"
Grid.Column="0" VerticalAlignment="Top" Width="60" Height="40">
<StackPanel>
Expand Down
8 changes: 4 additions & 4 deletions LigaManagerAdminClient/Views/BettorWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="Tipperübersicht" FontSize="38" FontWeight="Bold" HorizontalAlignment="Left" Grid.Row="0" Margin="10,40,0,0" VerticalAlignment="Top" Height="75" Width="310"/>
<DataGrid ItemsSource="{Binding Bettors}"
<DataGrid x:Name="BettorDataGrid" ItemsSource="{Binding Bettors}"
CanUserReorderColumns="True" CanUserResizeColumns="True" SelectionMode="Single" AutoGenerateColumns="False" SelectedItem="{Binding SelectedBettor}"
CanUserResizeRows="False" IsReadOnly="True" CanUserSortColumns="True" CanUserAddRows="false" CanUserDeleteRows="False" Grid.Row="1">
<DataGrid.InputBindings>
Expand All @@ -23,9 +23,9 @@
Command="{Binding ChangeCommand}"/>
</DataGrid.InputBindings>
<DataGrid.Columns>
<DataGridTextColumn Header="Nickname" Binding="{Binding Nickname}" />
<DataGridTextColumn Header="Vorname" Binding="{Binding Firstname}" />
<DataGridTextColumn Header="Nachname" Binding="{Binding Lastname}" />
<DataGridTextColumn Header="Nickname" Binding="{Binding Nickname}" MinWidth="100" MaxWidth="150"/>
<DataGridTextColumn Header="Vorname" Binding="{Binding Firstname}" MinWidth="100" MaxWidth="150"/>
<DataGridTextColumn Header="Nachname" Binding="{Binding Lastname}" MinWidth="100" MaxWidth="150"/>
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Row="2">
Expand Down
9 changes: 5 additions & 4 deletions LigaManagerAdminClient/Views/MatchesWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:LigaManagerAdminClient.Views"
xmlns:framework="clr-namespace:LigaManagerAdminClient.Framework"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="800"
Title="MatchWindow">
Expand All @@ -15,9 +16,9 @@
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="Spielübersicht" FontSize="38" FontWeight="Bold" HorizontalAlignment="Left" Grid.Row="0" Margin="10,40,0,0" VerticalAlignment="Top" Height="75" Width="310"/>
<DataGrid ItemsSource="{Binding Matches}"
<DataGrid x:Name="MatchesDataGrid" ItemsSource="{Binding Matches}"
CanUserReorderColumns="True" CanUserResizeColumns="True" SelectionMode="Single" AutoGenerateColumns="False" SelectedItem="{Binding SelectedMatch}"
CanUserResizeRows="False" IsReadOnly="True" CanUserSortColumns="True" CanUserAddRows="false" CanUserDeleteRows="False" Grid.Row="1" >
CanUserResizeRows="False" IsReadOnly="True" CanUserSortColumns="True" CanUserAddRows="false" CanUserDeleteRows="False" Grid.Row="1" framework:SetMinWidthToAutoAttachedBehaviour.SetMinWidthToAuto="true">
<DataGrid.InputBindings>
<MouseBinding
MouseAction="LeftDoubleClick"
Expand All @@ -26,8 +27,8 @@
<DataGrid.Columns>
<DataGridTextColumn Header="Datum" Binding="{Binding DateTime, StringFormat=dd.MM.yyyy}" />
<DataGridTextColumn Header="Uhrzeit" Binding="{Binding DateTime, StringFormat=HH:mm}" />
<DataGridTextColumn Header="Heim" Binding="{Binding HomeTeam.Name}" />
<DataGridTextColumn Header="Auswärts" Binding="{Binding AwayTeam.Name}" />
<DataGridTextColumn Header="Heim" Binding="{Binding HomeTeam.Name}"/>
<DataGridTextColumn Header="Auswärts" Binding="{Binding AwayTeam.Name}"/>
<DataGridTextColumn Header="Heimteam Punkte" Binding="{Binding HomeTeamScore}" />
<DataGridTextColumn Header="Auswärtsteam Punkte" Binding="{Binding AwayTeamScore}" />
</DataGrid.Columns>
Expand Down
4 changes: 2 additions & 2 deletions LigaManagerAdminClient/Views/SeasonWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
Command="{Binding ChangeCommand}"/>
</DataGrid.InputBindings>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Beschreibung" Binding="{Binding Description}" />
<DataGridTextColumn Header="Name" Binding="{Binding Name}" MinWidth="100" MaxWidth="150" />
<DataGridTextColumn Header="Beschreibung" Binding="{Binding Description}" MinWidth="100" MaxWidth="300" />
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Row="2">
Expand Down
4 changes: 2 additions & 2 deletions LigaManagerAdminClient/Views/TeamWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="Mannschaftsübersicht" FontSize="38" FontWeight="Bold" HorizontalAlignment="Left" Grid.Row="0" Margin="10,40,0,0" VerticalAlignment="Top" Height="75" Width="420" Grid.RowSpan="2"/>
<DataGrid ItemsSource="{Binding Teams}"
<DataGrid x:Name="TeamDataGrid" ItemsSource="{Binding Teams}"
CanUserReorderColumns="True" CanUserResizeColumns="True" AutoGenerateColumns="False" SelectedItem="{Binding SelectedTeam}"
CanUserResizeRows="False" IsReadOnly="True" CanUserSortColumns="True" SelectionMode="Single" CanUserAddRows="false" CanUserDeleteRows="False" Grid.Row="1">
<DataGrid.InputBindings>
Expand All @@ -24,7 +24,7 @@
Command="{Binding ChangeCommand}"/>
</DataGrid.InputBindings>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Name" Binding="{Binding Name}" MinWidth="100" MaxWidth="150" />
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Row="2">
Expand Down

0 comments on commit 86d4f61

Please sign in to comment.