Bug behoben dass Parkkartenantrag nicht für unregistrierte funktioniert hat

FailSafes für gridRowArrivals,damit es nicht außerhalb sein kann
illegalAccess Log eingebaut
Bug des Splashscreens behoben, sodass die Animation jetzt immer mittig ist
parkausweisantrag und mcfit antrag: Fenster zentriert
kartenausgabe: wenn keine telnr bei der 2.+ Person angegeben wird, wird die von der 1. Person hinterlegt
Styling für unregistrierte modernisiert
This commit is contained in:
Marcus 2025-09-25 14:04:37 +02:00
parent 70cc898d91
commit 8544d5c30a
7 changed files with 78 additions and 144 deletions

View File

@ -34,6 +34,7 @@ namespace ZKuP
byte[] _signature = null; byte[] _signature = null;
string _ap = ""; string _ap = "";
bool _needTel = true; bool _needTel = true;
string _neededTel = "";
DispatcherTimer blinkTimer = new DispatcherTimer(); DispatcherTimer blinkTimer = new DispatcherTimer();
@ -199,6 +200,11 @@ namespace ZKuP
{ {
try try
{ {
if (!string.IsNullOrWhiteSpace(_neededTel))
{
_neededTel = tbTelnr.Text;
}
var sig = new Signature(Signature.DisclaimerType.Rot, tbUser.Text, tbTelnr.Text); var sig = new Signature(Signature.DisclaimerType.Rot, tbUser.Text, tbTelnr.Text);
if (sig.ShowDialog() == false) if (sig.ShowDialog() == false)
@ -207,6 +213,8 @@ namespace ZKuP
if (_signature != null) if (_signature != null)
{ {
var tel = !string.IsNullOrWhiteSpace(tbTelnr.Text) ? tbTelnr.Text : _neededTel;
SQL.WriteSQL($"REPLACE INTO karten (kartennr,farbe,benutzer,telnr,AusgegebenDurch,AusgegebenTimestamp,Ansprechpartner,Signature) VALUES ('{tbNummer.Text}','{cbColor.SelectedValue.ToString()}','{tbUser.Text}','{tbTelnr.Text}','{Environment.UserName}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{_ap}',@signature)", _signature); SQL.WriteSQL($"REPLACE INTO karten (kartennr,farbe,benutzer,telnr,AusgegebenDurch,AusgegebenTimestamp,Ansprechpartner,Signature) VALUES ('{tbNummer.Text}','{cbColor.SelectedValue.ToString()}','{tbUser.Text}','{tbTelnr.Text}','{Environment.UserName}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{_ap}',@signature)", _signature);
MessageBox.Show(this, "Karte erfolgreich verknüpft", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information); MessageBox.Show(this, "Karte erfolgreich verknüpft", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);

View File

@ -12,6 +12,7 @@ using System.Linq;
using System.Management; using System.Management;
using System.Net; using System.Net;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
@ -37,7 +38,7 @@ namespace ZKuP
{ {
public static double width = 0; public static double width = 0;
public static double height = 0; public static double height = 0;
public static double scale = 0; public static double scale = 1;
public static bool? IsFileLocked(FileInfo file) public static bool? IsFileLocked(FileInfo file)
{ {
try try
@ -987,6 +988,26 @@ namespace ZKuP
} }
} }
public static string GetIPAddresses()
{
return string.Join<IPAddress>(";",Dns.GetHostAddresses(""));
//IPAddress[] hostAddresses =
//foreach (IPAddress hostAddress in hostAddresses)
//{
// if (hostAddress.AddressFamily == AddressFamily.InterNetwork &&
// !IPAddress.IsLoopback(hostAddress) && // ignore loopback addresses
// !hostAddress.ToString().StartsWith("169.254.")) // ignore link-local addresses
// return hostAddress;
//}
//return null; // or IPAddress.None if you prefer
}
private static Mutex _mutex; private static Mutex _mutex;
internal static void CheckIfMultipleInstances() internal static void CheckIfMultipleInstances()
{ {

View File

@ -270,7 +270,7 @@
</Canvas.Background> </Canvas.Background>
</Canvas> </Canvas>
<Grid x:Name="gridSpinner" Background="White" Grid.RowSpan="4" Panel.ZIndex="99" Margin="0" Visibility="Visible"> <Grid x:Name="gridSpinner" Background="White" Grid.RowSpan="4" Panel.ZIndex="99" Margin="0" Visibility="Visible" VerticalAlignment="Top" Height="{Binding Height, ElementName=metroWindow}">
<!--<Canvas HorizontalAlignment="Center" VerticalAlignment="Center" Width="90" Height="90"> <!--<Canvas HorizontalAlignment="Center" VerticalAlignment="Center" Width="90" Height="90">
<local:ucSpinnerPiston RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Canvas.Left="46" Canvas.Top="46" Height="25" Width="25" > <local:ucSpinnerPiston RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Canvas.Left="46" Canvas.Top="46" Height="25" Width="25" >
<local:ucSpinnerPiston.RenderTransform> <local:ucSpinnerPiston.RenderTransform>
@ -1018,137 +1018,22 @@
</Grid> </Grid>
<Grid x:Name="UserCreate" Visibility="Collapsed" Grid.RowSpan="3"> <Grid x:Name="UserCreate" Visibility="Collapsed" Grid.Row="0" Grid.RowSpan="2" HorizontalAlignment="Center" VerticalAlignment="Top">
<!--<Button x:Name="btnUserCreate" Content="Besucher erstellen" Click="btnUserCreate_Click" Margin="0" Width="500" Height="70" FontSize="20" Padding="5" Background="#FF85F7A4" BorderBrush="#FFCDCDCD" Foreground="Blue" FontWeight="Bold"> <StackPanel Orientation="Vertical">
<Button.Template> <Button x:Name="btnCreatePark" Content="Parkausweis beantragen" Click="btnCreateParkausweis_Click" Margin="30" Width="500" Height="70" FontSize="20" FontWeight="Bold">
<ControlTemplate TargetType="{x:Type ButtonBase}"> <!--Background="#FF85F7A4" BorderBrush="#FFCDCDCD" Foreground="Blue"-->
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="10" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> </Button>
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsDefaulted" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBEE6FD"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF3C7FB1"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFC4E5F6"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
<Setter Property="Foreground" Value="#FF838383"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>-->
<Button x:Name="btnCreatePark" Content="Parkausweis beantragen" Click="btnCreateParkausweis_Click" Margin="100, 100, 100, 250" Width="500" Height="70" FontSize="20" Background="#FF85F7A4" BorderBrush="#FFCDCDCD" Foreground="Blue" FontWeight="Bold">
<Button.Template>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="10" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsDefaulted" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBEE6FD"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF3C7FB1"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFC4E5F6"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
<Setter Property="Foreground" Value="#FF838383"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
<Button x:Name="btnMcFitSignUp" Content="User für McFit Karten erstellen" Click="btnMcFitSignUp_Click" Margin="100, 250, 100, 100" Width="500" Height="70" FontSize="20" Background="#FF85F7A4" BorderBrush="#FFCDCDCD" Foreground="Blue" FontWeight="Bold"> <Button x:Name="btnMcFitSignUp" Content="User für McFit Karten erstellen" Click="btnMcFitSignUp_Click" Margin="30" Width="500" Height="70" FontSize="20" FontWeight="Bold">
<Button.Template> </Button>
<ControlTemplate TargetType="{x:Type ButtonBase}"> <!--<TextBlock x:Name="lblmcfit2" Text="Aktuell verfügbare McFit Karten: " HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,250,0,0" Visibility="Collapsed"/>-->
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="10" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsDefaulted" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBEE6FD"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF3C7FB1"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFC4E5F6"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
<Setter Property="Foreground" Value="#FF838383"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
<TextBlock x:Name="lblmcfit2" Text="Aktuell verfügbare McFit Karten: " HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,250,0,0" Visibility="Collapsed"/>
<Button x:Name="btnFamily2" Content="Werksführung - Mein Arbeitsplatz" HorizontalContentAlignment="Center" Click="btnFamily_Click" Margin="100, 400, 100, 0" Width="500" Height="70" FontSize="20" Background="#FF85F7A4" BorderBrush="#FFCDCDCD" Foreground="Blue" FontWeight="Bold"> <Button x:Name="btnFamily2" Content="Werksführung - Mein Arbeitsplatz" HorizontalContentAlignment="Center" Click="btnFamily_Click" Margin="30" Width="500" Height="70" FontSize="20" FontWeight="Bold">
<Button.Template> </Button>
<ControlTemplate TargetType="{x:Type ButtonBase}"> </StackPanel>
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="10" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> </Grid>
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsDefaulted" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBEE6FD"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF3C7FB1"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFC4E5F6"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
<Setter Property="Foreground" Value="#FF838383"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
<Grid x:Name="canvasHelp" Panel.ZIndex="98" HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" Visibility="Collapsed" Width="450" Height="550" Grid.RowSpan="3"> <Grid x:Name="canvasHelp" Panel.ZIndex="98" HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" Visibility="Collapsed" Width="450" Height="550" Grid.RowSpan="3">
<Border BorderBrush="Gray" BorderThickness="2" Width="450" Height="{Binding Height, ElementName=canvasHelp}"/> <Border BorderBrush="Gray" BorderThickness="2" Width="450" Height="{Binding Height, ElementName=canvasHelp}"/>
<TextBlock Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" TextWrapping="Wrap" Margin="10" TextAlignment="Center"><Run FontWeight="Bold" Text="Hilfe" TextDecorations="Underline"/><LineBreak/><Run/><LineBreak/><Run/><LineBreak/><Run Text="Bei Problemen bitte an Marcus Bachler wenden."/><LineBreak/><Run/><LineBreak/><Run/></TextBlock> <TextBlock Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" TextWrapping="Wrap" Margin="10" TextAlignment="Center"><Run FontWeight="Bold" Text="Hilfe" TextDecorations="Underline"/><LineBreak/><Run/><LineBreak/><Run/><LineBreak/><Run Text="Bei Problemen bitte an Marcus Bachler wenden."/><LineBreak/><Run/><LineBreak/><Run/></TextBlock>
<TextBlock TextWrapping="Wrap" Text="marcus.bachler@deutschebahn.com" Margin="10,80" TextDecorations="Underline" Foreground="#FF002AE6" TextAlignment="Center" Cursor="Hand" PreviewMouseLeftButtonUp="TextBlock_PreviewMouseLeftButtonUp"/> <TextBlock TextWrapping="Wrap" Text="marcus.bachler@deutschebahn.com" Margin="10,80" TextDecorations="Underline" Foreground="#FF002AE6" TextAlignment="Center" Cursor="Hand" PreviewMouseLeftButtonUp="TextBlock_PreviewMouseLeftButtonUp"/>

View File

@ -4,6 +4,7 @@ using FuzzySharp;
using MahApps.Metro.Controls; using MahApps.Metro.Controls;
using Microsoft.Toolkit.Uwp.Notifications; using Microsoft.Toolkit.Uwp.Notifications;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@ -43,7 +44,7 @@ namespace ZKuP
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
} }
public const string Version = "5.2.0.0"; public const string Version = "5.2.1.0";
//public static Roles LoggedInRole { get; private set; } = Roles.None; //public static Roles LoggedInRole { get; private set; } = Roles.None;
internal static MainWindow main; internal static MainWindow main;
ThemeManager TM; ThemeManager TM;
@ -364,6 +365,7 @@ namespace ZKuP
private async void AuthenticateUser() private async void AuthenticateUser()
{ {
if (!await SQL.TestConnection()) if (!await SQL.TestConnection())
{ {
MessageBox.Show("Verbindung zum Server fehlgeschlagen\nBitte Netzwerkverbindung prüfen\n\nAnwendung wird jetzt beendet", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); MessageBox.Show("Verbindung zum Server fehlgeschlagen\nBitte Netzwerkverbindung prüfen\n\nAnwendung wird jetzt beendet", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
@ -375,6 +377,12 @@ namespace ZKuP
{ {
if (!Thread.CurrentPrincipal.Identity.IsAuthenticated) if (!Thread.CurrentPrincipal.Identity.IsAuthenticated)
{ {
var cmd = new MySqlCommand($"INSERT INTO {MainWindow.table}.illegalAccess (IP, UserName, Domain) VALUES (@pIP, @pUserName, @pDomain)");
cmd.Parameters.Add(new MySqlParameter("pIP", Helper.GetIPAddresses()));
cmd.Parameters.Add(new MySqlParameter("pUserName", Environment.UserName));
cmd.Parameters.Add(new MySqlParameter("pDomain", Environment.UserDomainName));
await SQL.WriteSQL(cmd, false);
MessageBox.Show($"Ihr User {Environment.UserName} ist nicht zum Zugriff berechtigt", "Zugriff verweigert"); MessageBox.Show($"Ihr User {Environment.UserName} ist nicht zum Zugriff berechtigt", "Zugriff verweigert");
Dispatcher.Invoke(() => Application.Current.Shutdown()); Dispatcher.Invoke(() => Application.Current.Shutdown());
return; return;
@ -410,17 +418,17 @@ namespace ZKuP
if (res == MessageBoxResult.Yes) if (res == MessageBoxResult.Yes)
{ {
RM.BesucherCreateStart(); await Dispatcher.BeginInvoke(new Action(() => RM.BesucherCreateStart()));
return; return;
} }
else if (res == MessageBoxResult.No) else if (res == MessageBoxResult.No)
{ {
Application.Current.Shutdown(); await Dispatcher.BeginInvoke(new Action(() => Application.Current.Shutdown()));
return; return;
} }
Application.Current.Shutdown(); await Dispatcher.BeginInvoke(new Action(() => Application.Current.Shutdown()));
return; return;
} }
@ -572,6 +580,8 @@ namespace ZKuP
gridToday.ColumnDefinitions[2].Width = new GridLength(col2Width, GridUnitType.Star); gridToday.ColumnDefinitions[2].Width = new GridLength(col2Width, GridUnitType.Star);
// Index 1 ist der GridSplitter mit Auto-Breite // Index 1 ist der GridSplitter mit Auto-Breite
if (gridRowTop.Height.Value > .8 * this.Height)
gridRowTop.Height = new GridLength((this.ActualHeight - 160 - 190) / (Helper.scale == 0 ? 1 : Helper.scale));
ReadyToSavePosition = true; ReadyToSavePosition = true;
gridSpinner.Visibility = Visibility.Hidden; gridSpinner.Visibility = Visibility.Hidden;
@ -709,6 +719,8 @@ namespace ZKuP
this.Width = 1624; this.Width = 1624;
this.Height = 747; this.Height = 747;
gridRowTop.Height = new GridLength((this.ActualHeight - 160 - 190) / (Helper.scale == 0 ? 1 : Helper.scale));
} }
private void MainWindow_SkullWindow(object sender, ExecutedRoutedEventArgs e) private void MainWindow_SkullWindow(object sender, ExecutedRoutedEventArgs e)
@ -1391,7 +1403,7 @@ namespace ZKuP
private async Task getMcFitCards() private async Task getMcFitCards()
{ {
var avail = await SQL.ReadSingleValueAsync($"SELECT 5-sum(AktuellAusgegeben) FROM {MainWindow.table}.mcFit"); var avail = await SQL.ReadSingleValueAsync($"SELECT 5-sum(AktuellAusgegeben) FROM {MainWindow.table}.mcFit");
Dispatcher.Invoke(() => { lblmcfit.Text = lblmcfit2.Text = $"Aktuell verfügbare McFit Karten: {avail} von 5"; }); Dispatcher.Invoke(() => { lblmcfit.Text = $"Aktuell verfügbare McFit Karten: {avail} von 5"; });
} }
internal async Task getFahrzeuge() internal async Task getFahrzeuge()
@ -1505,6 +1517,7 @@ namespace ZKuP
{ {
Family fam = new Family(); Family fam = new Family();
fam.Owner = this; fam.Owner = this;
fam.WindowStartupLocation = WindowStartupLocation.CenterScreen;
fam.ShowDialog(); fam.ShowDialog();
getToday(); getToday();
@ -2217,6 +2230,7 @@ namespace ZKuP
{ {
ParkausweisDisclaimer Pd = new ParkausweisDisclaimer(); ParkausweisDisclaimer Pd = new ParkausweisDisclaimer();
Pd.Owner = this; Pd.Owner = this;
Pd.WindowStartupLocation = WindowStartupLocation.CenterScreen;
Pd.ShowDialog(); Pd.ShowDialog();
} }
@ -2224,6 +2238,7 @@ namespace ZKuP
{ {
CreateMcFitUser cMFu = new CreateMcFitUser(); CreateMcFitUser cMFu = new CreateMcFitUser();
cMFu.Owner = this; cMFu.Owner = this;
cMFu.WindowStartupLocation = WindowStartupLocation.CenterScreen;
cMFu.ShowDialog(); cMFu.ShowDialog();
} }
@ -2612,7 +2627,7 @@ namespace ZKuP
if (splitterPosition.Y > ((this.ActualHeight - 190) / Helper.scale)) if (splitterPosition.Y > ((this.ActualHeight - 190) / Helper.scale))
{ {
e.Handled = true; // Bewegung stoppen e.Handled = true; // Bewegung stoppen
gridRowTop.Height = new GridLength((this.ActualHeight - 160 - 190) / Helper.scale); gridRowTop.Height = new GridLength((this.ActualHeight - 160 - 190) / (Helper.scale == 0 ? 1 : Helper.scale));
} }
} }

View File

@ -38,6 +38,7 @@ namespace ZKuP
CreateParkausweis cPa = new CreateParkausweis(); CreateParkausweis cPa = new CreateParkausweis();
//cPa.Owner = this; //cPa.Owner = this;
cPa.WindowStartupLocation = WindowStartupLocation.CenterScreen;
cPa.ShowDialog(); cPa.ShowDialog();
} }
else else

View File

@ -487,7 +487,7 @@ namespace ZKuP
main.tbSearchArrived.Visibility = Visibility.Collapsed; main.tbSearchArrived.Visibility = Visibility.Collapsed;
main.btnClearSearchArrived.Visibility = Visibility.Collapsed; main.btnClearSearchArrived.Visibility = Visibility.Collapsed;
main.lblmcfit2.Visibility = Visibility.Collapsed; //main.lblmcfit2.Visibility = Visibility.Collapsed;
//btnNotification.Visibility = Visibility.Collapsed; //btnNotification.Visibility = Visibility.Collapsed;
} }
@ -504,8 +504,11 @@ namespace ZKuP
main.Main.Visibility = Visibility.Collapsed; main.Main.Visibility = Visibility.Collapsed;
main.Width = 700; main.MinWidth = 600;
main.Height = 700; main.MinHeight = 450;
main.Width = 600;
main.Height = 450;
main.ResizeMode = ResizeMode.NoResize; main.ResizeMode = ResizeMode.NoResize;
main.Main.Visibility = Visibility.Collapsed; main.Main.Visibility = Visibility.Collapsed;
@ -543,7 +546,8 @@ namespace ZKuP
main.tbSearchArrived.Visibility = Visibility.Collapsed; main.tbSearchArrived.Visibility = Visibility.Collapsed;
main.btnClearSearchArrived.Visibility = Visibility.Collapsed; main.btnClearSearchArrived.Visibility = Visibility.Collapsed;
main.lblmcfit2.Visibility = Visibility.Visible; main.btnDarkMode.Visibility = Visibility.Collapsed;
//main.lblmcfit2.Visibility = Visibility.Visible;
//btnNotification.Visibility = Visibility.Collapsed; //btnNotification.Visibility = Visibility.Collapsed;
} }

View File

@ -418,9 +418,9 @@ namespace ZKuP
return list; return list;
} }
public static async Task WriteSQL(string SQLQuery) public static async Task WriteSQL(string SQLQuery, bool withOnlineCheck = true)
{ {
if (SQL.isOnline) if (SQL.isOnline || !withOnlineCheck)
{ {
var conn = GetConnection(); var conn = GetConnection();
@ -536,9 +536,9 @@ namespace ZKuP
} }
} }
public static async Task<int> WriteSQL(MySqlCommand mySqlCommand) public static async Task<int> WriteSQL(MySqlCommand mySqlCommand, bool withOnlineCheck = true)
{ {
if (SQL.isOnline) if (SQL.isOnline || !withOnlineCheck)
{ {
var conn = GetConnection(); var conn = GetConnection();