LicenceManager 2.2b1: - Aggiunta datagrid che compare in MainMenu quando ProductDeadline o OptionDeadline dei clienti specificati sono in arrivo (<10gg)

- Correzione grafica in SearchKeyPage e SearchLicencePage che tagliava la datagrid quando si estendevano le Opzioni
This commit is contained in:
RenzoL
2022-02-24 16:13:27 +01:00
parent a59e3b38c2
commit 16cb62a265
5 changed files with 495 additions and 321 deletions
+173 -79
View File
@@ -27,94 +27,188 @@
TextAlignment="Center"/>
</Border>
<Grid Grid.Row="1"
Grid.Column="2"
Visibility="{Binding ExpiringLic_Visibility}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Border BorderBrush="Black"
BorderThickness="1"
Height="35"
Grid.Row="0"
Grid.ColumnSpan="2"
VerticalAlignment="Top">
<TextBlock Height="50"
Text="Licenze Essetre/Multiax/Omag in scadenza:"
FontSize="15"
TextAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1"
Grid.Column="2">
<Grid Visibility="{Binding ExpiringLic_Visibility}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Border BorderBrush="Black"
BorderThickness="1"
Height="35"
Grid.Row="0"
Grid.ColumnSpan="2"
VerticalAlignment="Top">
<TextBlock Height="50"
Text="Licenze Essetre/Multiax/Omag in scadenza:"
FontSize="15"
TextAlignment="Center"/>
</Border>
<!--<ListBox ItemsSource="{Binding SearchResult}"
<!--<ListBox ItemsSource="{Binding SearchResult}"
Grid.Row="1"
Height="150"/>-->
<DataGrid Name="LicenceDataGrid"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
<DataGrid Name="LicenceDataGrid"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
Grid.Row="1"
Grid.ColumnSpan="2"
RowHeight="20"
Height="150"
ColumnHeaderHeight="25">
<DataGrid.Columns>
<DataGridTextColumn Header="ProductName"
Binding="{Binding ProductName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="ProductVersion"
Binding="{Binding ProductVersion, Mode=OneWay}"
Width="SizeToHeader"/>
<!--<DataGridTextColumn Header="ProductLevel"
Binding="{Binding ProductLevel, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 1"
Binding="{Binding Option1, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 2"
Binding="{Binding Option2, Mode=OneWay}"
Width="SizeToHeader"/>-->
<!--<DataGridTextColumn Header="LockID"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="File"
Binding="{Binding File, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="License Date"
Binding="{Binding LicenseDate, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToHeader"/>
<!--<DataGridTextColumn Header="License File Content"
Binding="{Binding LicFile, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="ClientName"
Binding="{Binding ClientName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
<Button Content="{Binding UpdateOverwriteMsg}"
Grid.Row="2"
Grid.ColumnSpan="2"
Command="{Binding UpdateOverwrite_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>
<!--<Button Content="{Binding UpdateNewMsg}"
Grid.Row="2"
Grid.Column="1"
Command="{Binding UpdateNew_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>-->
</Grid>
<Grid Grid.Row="2"
Grid.Column="2"
Margin="0,10,0,0"
Visibility="{Binding ExpiringOptionLic_Visibility}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Border BorderBrush="Black"
BorderThickness="1"
Height="35"
Grid.Row="0"
Grid.ColumnSpan="2"
VerticalAlignment="Top">
<TextBlock Height="50"
Text="Licenze Essetre/Multiax/Omag con deadline Prodotto o Opzione in arrivo:"
FontSize="15"
TextAlignment="Center"/>
</Border>
<!--<ListBox ItemsSource="{Binding SearchResult}"
Grid.Row="1"
Grid.ColumnSpan="2"
RowHeight="20"
Height="150"
ColumnHeaderHeight="25">
Height="150"/>-->
<DataGrid.Columns>
<DataGrid Name="OptionLicenceDataGrid"
ItemsSource="{Binding OptionSearchResult}"
SelectedItem="{Binding SelOptionSearchResult}"
AutoGenerateColumns="False"
Grid.Row="1"
Grid.ColumnSpan="2"
RowHeight="20"
Height="150"
ColumnHeaderHeight="25">
<DataGridTextColumn Header="ProductName"
Binding="{Binding ProductName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="ProductVersion"
Binding="{Binding ProductVersion, Mode=OneWay}"
Width="SizeToHeader"/>
<!--<DataGridTextColumn Header="ProductLevel"
Binding="{Binding ProductLevel, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 1"
Binding="{Binding Option1, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 2"
Binding="{Binding Option2, Mode=OneWay}"
Width="SizeToHeader"/>-->
<!--<DataGridTextColumn Header="LockID"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="File"
Binding="{Binding File, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="License Date"
Binding="{Binding LicenseDate, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToHeader"/>
<!--<DataGridTextColumn Header="License File Content"
Binding="{Binding LicFile, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="ClientName"
Binding="{Binding ClientName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
<DataGrid.Columns>
<Button Content="{Binding UpdateOverwriteMsg}"
Grid.Row="2"
Grid.ColumnSpan="2"
Command="{Binding UpdateOverwrite_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>
<!--<Button Content="{Binding UpdateNewMsg}"
Grid.Row="2"
Grid.Column="1"
Command="{Binding UpdateNew_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>-->
<DataGridTextColumn Header="ProductName"
Binding="{Binding ProductName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="ProductVersion"
Binding="{Binding ProductVersion, Mode=OneWay}"
Width="SizeToHeader"/>
<!--<DataGridTextColumn Header="ProductLevel"
Binding="{Binding ProductLevel, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 1"
Binding="{Binding Option1, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 2"
Binding="{Binding Option2, Mode=OneWay}"
Width="SizeToHeader"/>-->
<!--<DataGridTextColumn Header="LockID"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="File"
Binding="{Binding File, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="ProductDL"
Binding="{Binding ProductDeadline, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToCells"/>
<DataGridTextColumn Header="OptionDL"
Binding="{Binding OptionDeadline, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToCells"/>
<!--<DataGridTextColumn Header="License File Content"
Binding="{Binding LicFile, Mode=OneWay}"
Width="1*"/>-->
<DataGridTextColumn Header="ClientName"
Binding="{Binding ClientName, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
<Button Content="{Binding UpdateOverwriteMsg}"
Grid.Row="2"
Grid.ColumnSpan="2"
Command="{Binding OptionUpdateOverwrite_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>
<!--<Button Content="{Binding UpdateNewMsg}"
Grid.Row="2"
Grid.Column="1"
Command="{Binding UpdateNew_Command}"
Style="{StaticResource OptionPanel_TextButton}"/>-->
</Grid>
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1">
<Grid.ColumnDefinitions>
+79
View File
@@ -10,6 +10,7 @@ Public Class MainMenuVM
Private Const OMAG_ID As Integer = 29
Private Const ESSETRE_ID As Integer = 30
Private Const DaysBeforeExpiration As Integer = 20
Private Const OptionDaysBeforeExpiration As Integer = 10
Public UpdateFromExpLic As Boolean = False
Private m_ExpiringLic_Visibility As Visibility
@@ -23,6 +24,17 @@ Public Class MainMenuVM
End Set
End Property
Private m_ExpiringOptionLic_Visibility As Visibility
Public Property ExpiringOptionLic_Visibility As Visibility
Get
Return m_ExpiringOptionLic_Visibility
End Get
Set(value As Visibility)
m_ExpiringOptionLic_Visibility = value
NotifyPropertyChanged("ExpiringOptionLic_Visibility")
End Set
End Property
Private m_SelSearchResult As Licence
Public Property SelSearchResult As Licence
Get
@@ -40,6 +52,23 @@ Public Class MainMenuVM
End Get
End Property
Private m_SelOptionSearchResult As Licence
Public Property SelOptionSearchResult As Licence
Get
Return m_SelOptionSearchResult
End Get
Set(value As Licence)
m_SelOptionSearchResult = value
End Set
End Property
Private m_OptionSearchResult As ObservableCollection(Of SearchLicence)
Public ReadOnly Property OptionSearchResult As ObservableCollection(Of SearchLicence)
Get
Return m_OptionSearchResult
End Get
End Property
' Definizione comandi
Private m_cmdNewClient As Command
Private m_cmdNewKey As Command
@@ -62,6 +91,7 @@ Public Class MainMenuVM
'Private m_cmdAboutBox As Command
Private m_cmdUpdateOverwrite As Command
Private m_cmdUpdateNew As Command
Private m_cmdOptionUpdateOverwrite As Command
#Region "Messages"
@@ -491,6 +521,28 @@ Public Class MainMenuVM
ExpiringLic_Visibility = Visibility.Collapsed
End If
' Costruisco la nuova query per caricare l'altra Datagrid, che tiene conto di Product/OptionDeadline
Query = "SELECT * FROM " & DB_LICENCE & " INNER JOIN " & DB_PRODUCT &
" ON " & DB_LICENCE & "." & DB_PRODUCTID & " = " & DB_PRODUCT & "." & DB_PRODUCTID &
" INNER JOIN " & DB_KEY &
" ON " & DB_KEY & "." & DB_LOCKID & " = " & DB_LICENCE & "." & DB_LOCKID &
" INNER JOIN " & DB_CLIENT &
" ON " & DB_KEY & "." & DB_CLIENTID & " = " & DB_CLIENT & "." & DB_CLIENTID &
" WHERE " & DB_CLIENT & "." & DB_CLIENTID & " IN (" & MULTIAX_ID & ", " & OMAG_ID & ", " & ESSETRE_ID & ")" &
" AND ((DATEDIFF(" & DB_LICENCE & "." & DB_PRODUCTDEADLINE & ", '" & Format(DateTime.Now, "yyyy-MM-dd") & "') > 0 " &
" AND DATEDIFF(" & DB_LICENCE & "." & DB_PRODUCTDEADLINE & ", '" & Format(DateTime.Now, "yyyy-MM-dd") & "') < " & OptionDaysBeforeExpiration & ")" &
" OR (DATEDIFF(" & DB_LICENCE & "." & DB_OPTIONDEADLINE & ", '" & Format(DateTime.Now, "yyyy-MM-dd") & "') > 0 " &
" AND DATEDIFF(" & DB_LICENCE & "." & DB_OPTIONDEADLINE & ", '" & Format(DateTime.Now, "yyyy-MM-dd") & "') < " & OptionDaysBeforeExpiration & "))"
m_OptionSearchResult = New ObservableCollection(Of SearchLicence)(ManageDb.ExecuteExpiringLicenceQuery(Query, ProductList, ClientList))
NotifyPropertyChanged("OptionSearchResult")
If m_OptionSearchResult.Count > 0 Then
ExpiringOptionLic_Visibility = Visibility.Visible
Else
ExpiringOptionLic_Visibility = Visibility.Collapsed
End If
End Sub
#End Region ' LoadExpiringLicenses
@@ -522,6 +574,33 @@ Public Class MainMenuVM
#End Region ' UpdateOverwrite
#Region "OptionUpdateOverwrite"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property OptionUpdateOverwrite_Command As ICommand
Get
If m_cmdOptionUpdateOverwrite Is Nothing Then
m_cmdOptionUpdateOverwrite = New Command(AddressOf OptionUpdateOverwrite)
End If
Return m_cmdOptionUpdateOverwrite
End Get
End Property
Public Sub OptionUpdateOverwrite(ByVal param As Object)
If Not IsNothing(m_SelOptionSearchResult) Then
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Map.refUpdateLicencePageVM.Licence = m_SelOptionSearchResult
UpdateFromExpLic = True
Map.refUpdateLicencePageVM.Overwrite = True
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATELICENCE
Else
MessageBox.Show("Non è stata selezionata nessuna licenza")
End If
End Sub
#End Region ' UpdateOverwrite
#End Region ' METHODS
End Class
+2 -2
View File
@@ -59,5 +59,5 @@ Imports System.Windows
' usando l'asterisco '*' come illustrato di seguito:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.1.2")>
<Assembly: AssemblyFileVersion("2.4.1.2")>
<Assembly: AssemblyVersion("2.4.2.1")>
<Assembly: AssemblyFileVersion("2.4.2.1")>
+42 -42
View File
@@ -1,85 +1,85 @@
<Grid x:Class="SearchKeyPageV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:LicenseManager="clr-namespace:LicenseManager"
DataContext="{StaticResource SearchKeyPageVM}" Loaded="Grid_Loaded">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:LicenseManager="clr-namespace:LicenseManager"
DataContext="{StaticResource SearchKeyPageVM}" Loaded="Grid_Loaded">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<Border BorderBrush="Black"
<Border BorderBrush="Black"
BorderThickness="1"
Height="75"
Grid.ColumnSpan="2">
<TextBlock Height="50"
<TextBlock Height="50"
Text="{Binding SearchKeyMsg}"
FontSize="30"
TextAlignment="Center"/>
</Border>
</Border>
<LicenseManager:KeyPageV Grid.Row="1"
Grid.ColumnSpan="2"/>
<LicenseManager:KeyPageV Grid.Row="1"
Grid.ColumnSpan="2"/>
<DataGrid Name="KeyDataGrid"
ColumnHeaderHeight="25"
RowHeight="20"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
Grid.Row="2">
<DataGrid Name="KeyDataGrid"
ColumnHeaderHeight="25"
RowHeight="20"
MaxHeight="250"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
Grid.Row="2">
<DataGrid.Columns>
<DataGrid.Columns>
<DataGridTextColumn Header="Number"
<DataGridTextColumn Header="Number"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Client Name"
<DataGridTextColumn Header="Client Name"
Binding="{Binding ClientName, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Is Dongle"
<DataGridTextColumn Header="Is Dongle"
Binding="{Binding IsDongle, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="LockID"
<DataGridTextColumn Header="LockID"
Binding="{Binding LockID, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="State"
<DataGridTextColumn Header="State"
Binding="{Binding State, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Key Date"
<DataGridTextColumn Header="Key Date"
Binding="{Binding KeyDate, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="1*"/>
<DataGridTextColumn Header="Note"
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Seriale"
<DataGridTextColumn Header="Seriale"
Binding="{Binding Seriale, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
</DataGrid.Columns>
</DataGrid>
<UniformGrid Grid.Row="3" Columns="5">
<Button Content="{Binding NewMsg}"
<UniformGrid Grid.Row="3" Columns="5">
<Button Content="{Binding NewMsg}"
Command="{Binding NewKey_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding SearchMsg}"
<Button Content="{Binding SearchMsg}"
Command="{Binding SearchKey_Command}"
IsDefault="True"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding UpdateMsg}"
<Button Content="{Binding UpdateMsg}"
Command="{Binding UpdateKey_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding DeleteMsg}"
<Button Content="{Binding DeleteMsg}"
Command="{Binding DeleteKey_Command}"
Style="{StaticResource Page_Button}" Background="#FFE5AEAE"/>
<Button Content="{Binding CancelMsg}"
<Button Content="{Binding CancelMsg}"
Command="{Binding Cancel_Command}"
Style="{StaticResource Page_Button}"/>
</UniformGrid>
</UniformGrid>
</Grid>
+199 -198
View File
@@ -4,304 +4,305 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
DataContext="{StaticResource SearchLicencePageVM}" Loaded="Grid_Loaded">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border BorderBrush="Black"
<Border BorderBrush="Black"
BorderThickness="1"
Height="75"
Grid.Row="0">
<TextBlock Height="50"
<TextBlock Height="50"
Text="{Binding SearchLicenceMsg}"
FontSize="30"
TextAlignment="Center"/>
</Border>
</Border>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding ProductNameMsg}"
Grid.Column="0"
Grid.Row="0"
Style="{StaticResource ParametersTextBlock}"/>
<ComboBox Name="ProductNameComboBox"
ItemsSource="{Binding ProductList}"
SelectedItem="{Binding SelProduct}"
DisplayMemberPath="ProductName"
Grid.Column="1"
Grid.Row="0"
Style="{StaticResource ParametersComboBox}"/>
<Grid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ProductVersionMsg}"
<TextBlock Text="{Binding ProductNameMsg}"
Grid.Column="0"
Grid.Row="0"
Style="{StaticResource ParametersTextBlock}"/>
<TextBlock HorizontalAlignment="Center" Grid.Row="1" TextWrapping="Wrap"
Text="('0' per visualizzare qualsiasi numero)"
VerticalAlignment="Top" Background="{DynamicResource {x:Static SystemColors.GradientInactiveCaptionBrushKey}}"
Margin="0,31,9.147,0" Grid.RowSpan="2"/>
<ComboBox ItemsSource="{Binding VersionList}"
SelectedItem="{Binding SelVersion}"
DisplayMemberPath="VersionNumber"
<ComboBox Name="ProductNameComboBox"
ItemsSource="{Binding ProductList}"
SelectedItem="{Binding SelProduct}"
DisplayMemberPath="ProductName"
Grid.Column="1"
Style="{StaticResource ParametersComboBox}"
Width="100"/>
Grid.Row="0"
Style="{StaticResource ParametersComboBox}"/>
<TextBlock Text="{Binding SubVersionMsg}"
Grid.Column="2"
Style="{StaticResource ParametersTextBlock}"/>
<Grid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<ComboBox ItemsSource="{Binding SubVersionList}"
SelectedItem="{Binding SelSubVersion}"
IsEnabled="{Binding SubVersion_IsEnabled}"
Grid.Column="3"
Style="{StaticResource ParametersComboBox}"
Width="100"/>
<TextBlock Text="{Binding ProductVersionMsg}"
Grid.Column="0"
Style="{StaticResource ParametersTextBlock}"/>
</Grid>
<TextBlock HorizontalAlignment="Center" Grid.Row="1" TextWrapping="Wrap"
Text="('0' per visualizzare qualsiasi numero)"
VerticalAlignment="Top" Background="{DynamicResource {x:Static SystemColors.GradientInactiveCaptionBrushKey}}"
Margin="0,31,9.147,0" Grid.RowSpan="2"/>
<TextBlock Text="{Binding ProductLevelMsg}"
<ComboBox ItemsSource="{Binding VersionList}"
SelectedItem="{Binding SelVersion}"
DisplayMemberPath="VersionNumber"
Grid.Column="1"
Style="{StaticResource ParametersComboBox}"
Width="100"/>
<TextBlock Text="{Binding SubVersionMsg}"
Grid.Column="2"
Style="{StaticResource ParametersTextBlock}"/>
<ComboBox ItemsSource="{Binding SubVersionList}"
SelectedItem="{Binding SelSubVersion}"
IsEnabled="{Binding SubVersion_IsEnabled}"
Grid.Column="3"
Style="{StaticResource ParametersComboBox}"
Width="100"/>
</Grid>
<TextBlock Text="{Binding ProductLevelMsg}"
Grid.Column="0"
Grid.Row="2"
Style="{StaticResource ParametersTextBlock}"/>
<ComboBox ItemsSource="{Binding ProductLevelList}"
<ComboBox ItemsSource="{Binding ProductLevelList}"
SelectedItem="{Binding SelProductLevel}"
Grid.Column="1"
Grid.Row="2"
Style="{StaticResource ParametersComboBox}"/>
<TextBlock Text="{Binding ProductDeadlineMsg}"
<TextBlock Text="{Binding ProductDeadlineMsg}"
Grid.Column="0"
Grid.Row="3"
Style="{StaticResource ParametersTextBlock}"/>
<DatePicker SelectedDate="{Binding ProductDeadline}"
<DatePicker SelectedDate="{Binding ProductDeadline}"
Height="30"
Width="170"
Grid.Column="1"
Grid.Row="3"/>
<TextBlock Text="{Binding OptionDeadlineMsg}"
<TextBlock Text="{Binding OptionDeadlineMsg}"
Grid.Column="2"
Grid.Row="0"
Style="{StaticResource ParametersTextBlock}"/>
<DatePicker SelectedDate="{Binding OptionDeadline}"
<DatePicker SelectedDate="{Binding OptionDeadline}"
Height="30"
Width="170"
Grid.Column="3"
Grid.Row="0"/>
<Grid Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding LockIDMsg}"
Grid.Column="0"
Style="{StaticResource ParametersTextBlock}"/>
<TextBlock Text="{Binding LockIDMsg}"
Grid.Column="0"
Style="{StaticResource ParametersTextBlock}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding LockID}"
Grid.Column="1"
Style="{StaticResource ParameterTextBox}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding LockID}"
Grid.Column="1"
Style="{StaticResource ParameterTextBox}"/>
<TextBlock Text="{Binding KeyNumberMsg}"
Grid.Column="2"
Style="{StaticResource ParametersTextBlock}"/>
<TextBlock Text="{Binding KeyNumberMsg}"
Grid.Column="2"
Style="{StaticResource ParametersTextBlock}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding KeyNumber}"
Grid.Column="3"
Style="{StaticResource ParameterTextBox}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding KeyNumber}"
Grid.Column="3"
Style="{StaticResource ParameterTextBox}"/>
</Grid>
</Grid>
<TextBlock Text="{Binding FileMsg}"
<TextBlock Text="{Binding FileMsg}"
Grid.Column="2"
Grid.Row="2"
Style="{StaticResource ParametersTextBlock}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding File}"
<EgtWPFLib5:EgtTextBox Text="{Binding File}"
Grid.Column="3"
Grid.Row="2"
Style="{StaticResource ParameterTextBox}"/>
<TextBlock Text="{Binding LicenseDateMsg}"
<TextBlock Text="{Binding LicenseDateMsg}"
Grid.Column="2"
Grid.Row="3"
Style="{StaticResource ParametersTextBlock}"/>
<DatePicker SelectedDate="{Binding LicenseDate}"
<DatePicker SelectedDate="{Binding LicenseDate}"
Height="30"
Width="170"
Grid.Column="3"
Grid.Row="3"/>
<TextBlock Text="{Binding IsDongleMsg}"
<TextBlock Text="{Binding IsDongleMsg}"
Grid.Column="0"
Grid.Row="4"
Style="{StaticResource ParametersTextBlock}"/>
<ComboBox ItemsSource="{Binding IsDongleList}"
<ComboBox ItemsSource="{Binding IsDongleList}"
SelectedItem="{Binding SelIsDongle}"
Grid.Column="1"
Grid.Row="4"
Style="{StaticResource ParametersComboBox}"/>
<TextBlock Text="{Binding SerialNumberMsg}"
<TextBlock Text="{Binding SerialNumberMsg}"
Grid.Column="2"
Grid.Row="4"
Style="{StaticResource ParametersTextBlock}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding SerialNumber}"
<EgtWPFLib5:EgtTextBox Text="{Binding SerialNumber}"
Grid.Column="3"
Grid.Row="4"
Style="{StaticResource ParameterTextBox}"/>
<GroupBox Name="Option1"
Header="{Binding Option1Msg}"
<GroupBox Name="Option1"
Header="{Binding Option1Msg}"
Grid.Row="5" Grid.ColumnSpan="4">
<ItemsControl ItemsSource="{Binding Option1}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked}"
<ItemsControl ItemsSource="{Binding Option1}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked}"
Content="{Binding Msg}"
IsEnabled="{Binding IsEnabled}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</GroupBox>
</GroupBox>
<GroupBox Name="Option2"
<GroupBox Name="Option2"
Header="{Binding Option2Msg}"
Grid.Row="6" Grid.ColumnSpan="4">
<ItemsControl ItemsSource="{Binding Option2}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked}"
<ItemsControl ItemsSource="{Binding Option2}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked}"
Content="{Binding Msg}"
IsEnabled="{Binding IsEnabled}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</GroupBox>
</GroupBox>
<DataGrid Name="LicenceDataGrid"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
Grid.Row="7"
Grid.ColumnSpan="4"
RowHeight="20"
Height="Auto"
ColumnHeaderHeight="25"
MouseDoubleClick="Row_MouseDoubleClick" >
<DataGrid Name="LicenceDataGrid"
ItemsSource="{Binding SearchResult}"
SelectedItem="{Binding SelSearchResult}"
AutoGenerateColumns="False"
Grid.Row="7"
Grid.ColumnSpan="4"
RowHeight="20"
Height="Auto"
MaxHeight="250"
ColumnHeaderHeight="25"
MouseDoubleClick="Row_MouseDoubleClick" >
<DataGrid.Columns>
<DataGrid.Columns>
<DataGridTextColumn Header="ProductName"
Binding="{Binding ProductName, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="ProductVersion"
Binding="{Binding ProductVersion, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="ProductLevel"
Binding="{Binding ProductLevel, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 1"
Binding="{Binding Option1, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 2"
Binding="{Binding Option2, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="LockID"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="File"
Binding="{Binding File, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="License Date"
Binding="{Binding LicenseDate, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="License File Content"
Binding="{Binding LicFile, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
<DataGridTextColumn Header="ProductName"
Binding="{Binding ProductName, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="ProductVersion"
Binding="{Binding ProductVersion, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="ProductLevel"
Binding="{Binding ProductLevel, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 1"
Binding="{Binding Option1, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="Option 2"
Binding="{Binding Option2, Mode=OneWay}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="LockID"
Binding="{Binding Number, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="File"
Binding="{Binding File, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="License Date"
Binding="{Binding LicenseDate, Mode=OneWay, StringFormat=\{0:dd/MM/yyyy\}}"
Width="SizeToHeader"/>
<DataGridTextColumn Header="License File Content"
Binding="{Binding LicFile, Mode=OneWay}"
Width="1*"/>
<DataGridTextColumn Header="Note"
Binding="{Binding Note, Mode=OneWay}"
Width="1*"/>
</DataGrid.Columns>
</DataGrid>
<UniformGrid Grid.Row="8" Grid.ColumnSpan="5" Columns="7">
<Button Content="{Binding NewMsg}"
Command="{Binding NewLicence_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding SearchMsg}"
Command="{Binding Search_Command}"
IsDefault="True"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding UpdateOverwriteMsg}"
Command="{Binding UpdateOverwrite_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding UpdateNewMsg}"
Command="{Binding UpdateNew_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding DeleteMsg}"
Command="{Binding DeleteLicence_Command}"
Style="{StaticResource Page_Button}" Background="#FFE5AEAE"/>
<Button Content="{Binding SendEmailMsg}"
Command="{Binding SendEmail_Command}"
Style="{StaticResource Page_Button}" Background="#FFF4FFA2"/>
<Button Content="{Binding CancelMsg}"
Command="{Binding Cancel_Command}"
Style="{StaticResource Page_Button}"/>
</UniformGrid>
<UniformGrid Grid.Row="8" Grid.ColumnSpan="5" Columns="7">
<Button Content="{Binding NewMsg}"
Command="{Binding NewLicence_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding SearchMsg}"
Command="{Binding Search_Command}"
IsDefault="True"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding UpdateOverwriteMsg}"
Command="{Binding UpdateOverwrite_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding UpdateNewMsg}"
Command="{Binding UpdateNew_Command}"
Style="{StaticResource Page_Button}"/>
<Button Content="{Binding DeleteMsg}"
Command="{Binding DeleteLicence_Command}"
Style="{StaticResource Page_Button}" Background="#FFE5AEAE"/>
<Button Content="{Binding SendEmailMsg}"
Command="{Binding SendEmail_Command}"
Style="{StaticResource Page_Button}" Background="#FFF4FFA2"/>
<Button Content="{Binding CancelMsg}"
Command="{Binding Cancel_Command}"
Style="{StaticResource Page_Button}"/>
</UniformGrid>
</Grid>
</Grid>
</Grid>