Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9eb30b0697 | |||
| 0c73db4f52 | |||
| 1f36c9a5b0 |
@@ -23,5 +23,8 @@
|
|||||||
Public Const COL_USAGE As String = "colUSAGE"
|
Public Const COL_USAGE As String = "colUSAGE"
|
||||||
Public Const COL_WASTE As String = "colWASTE"
|
Public Const COL_WASTE As String = "colWASTE"
|
||||||
Public Const COL_ARCHIVED As String = "colARCHIVED"
|
Public Const COL_ARCHIVED As String = "colARCHIVED"
|
||||||
|
Public Const COL_PROJID As String = "colPROJID"
|
||||||
|
Public Const COL_PRODID As String = "colPRODID"
|
||||||
|
Public Const COL_CREATEDATE As String = "colCRTDATE"
|
||||||
|
|
||||||
End Module
|
End Module
|
||||||
|
|||||||
@@ -68,6 +68,7 @@
|
|||||||
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition Width="Auto"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<ComboBox ItemsSource="{Binding FilterTypeList}"
|
<ComboBox ItemsSource="{Binding FilterTypeList}"
|
||||||
SelectedItem="{Binding SelFilterType}"
|
SelectedItem="{Binding SelFilterType}"
|
||||||
@@ -80,6 +81,17 @@
|
|||||||
Visibility="{Binding SearchText_Visibility}"/>
|
Visibility="{Binding SearchText_Visibility}"/>
|
||||||
<StackPanel Grid.Column="2"
|
<StackPanel Grid.Column="2"
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
|
<TextBlock Text="Page index"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<Button Content="<"
|
||||||
|
Command="{Binding PrevPage_Command}" />
|
||||||
|
<TextBlock Text="{Binding nPageIndex}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<Button Content=">"
|
||||||
|
Command="{Binding NextPage_Command}" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Grid.Column="3"
|
||||||
|
Orientation="Horizontal">
|
||||||
<TextBlock Text="{Binding Rows_Msg}"
|
<TextBlock Text="{Binding Rows_Msg}"
|
||||||
Style="{StaticResource OptionTextBlock}"/>
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
<ComboBox ItemsSource="{Binding RowQuantityList}"
|
<ComboBox ItemsSource="{Binding RowQuantityList}"
|
||||||
@@ -92,7 +104,7 @@
|
|||||||
|
|
||||||
<EgtBEAMWALL:EgtDataGrid x:Name="MainDataGrid"
|
<EgtBEAMWALL:EgtDataGrid x:Name="MainDataGrid"
|
||||||
Grid.Row="1"
|
Grid.Row="1"
|
||||||
ItemsSource="{Binding ProjectList}"
|
ItemsSource="{Binding PageList}"
|
||||||
SelectedItem="{Binding SelProject}"
|
SelectedItem="{Binding SelProject}"
|
||||||
CanUserAddRows="False"
|
CanUserAddRows="False"
|
||||||
AutoGenerateColumns="False"
|
AutoGenerateColumns="False"
|
||||||
@@ -104,10 +116,12 @@
|
|||||||
Margin="5"
|
Margin="5"
|
||||||
RowDetailsVisibilityMode="Visible"
|
RowDetailsVisibilityMode="Visible"
|
||||||
CellEditEnding="MainDataGrid_CellEditEnding"
|
CellEditEnding="MainDataGrid_CellEditEnding"
|
||||||
BindingColumns="{Binding ProdColumns}">
|
BindingColumns="{Binding ProdColumns}"
|
||||||
|
Sorting="MainDataGrid_Sorting">
|
||||||
<DataGrid.Resources>
|
<DataGrid.Resources>
|
||||||
<!-- ProdId -->
|
<!-- ProdId -->
|
||||||
<DataGridTextColumn x:Key="colPRODID" Binding="{Binding sProdId}">
|
<DataGridTextColumn x:Key="colPRODID"
|
||||||
|
Binding="{Binding sProdId}">
|
||||||
<DataGridTextColumn.HeaderTemplate>
|
<DataGridTextColumn.HeaderTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<TextBlock Text="{Binding Path=DataContext.Id_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
<TextBlock Text="{Binding Path=DataContext.Id_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
||||||
@@ -115,7 +129,8 @@
|
|||||||
</DataGridTextColumn.HeaderTemplate>
|
</DataGridTextColumn.HeaderTemplate>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<!--Name-->
|
<!--Name-->
|
||||||
<DataGridTextColumn x:Key="colNAME" Binding="{Binding sName}">
|
<DataGridTextColumn x:Key="colNAME"
|
||||||
|
Binding="{Binding sName}">
|
||||||
<DataGridTextColumn.Header>
|
<DataGridTextColumn.Header>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@@ -134,19 +149,23 @@
|
|||||||
</DataGridTextColumn.Header>
|
</DataGridTextColumn.Header>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<!-- Creation date -->
|
<!-- Creation date -->
|
||||||
<DataGridTextColumn x:Key="colCRTDATE" Binding="{Binding dtCreateDate}">
|
<DataGridTextColumn x:Key="colCRTDATE"
|
||||||
|
Binding="{Binding dtCreateDate}">
|
||||||
<DataGridTextColumn.Header>
|
<DataGridTextColumn.Header>
|
||||||
<TextBlock Text="{Binding Path=DataContext.CreateDate_Msg, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
<TextBlock Text="{Binding Path=DataContext.CreateDate_Msg, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
||||||
</DataGridTextColumn.Header>
|
</DataGridTextColumn.Header>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<!-- Machine -->
|
<!-- Machine -->
|
||||||
<DataGridTextColumn x:Key="colMACHINE" Binding="{Binding sMachine}">
|
<DataGridTextColumn x:Key="colMACHINE"
|
||||||
|
Binding="{Binding sMachine}"
|
||||||
|
CanUserSort="False">
|
||||||
<DataGridTextColumn.Header>
|
<DataGridTextColumn.Header>
|
||||||
<TextBlock Text="{Binding Path=DataContext.Machine_Msg, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
<TextBlock Text="{Binding Path=DataContext.Machine_Msg, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:NewOpenProjectFileDialogV}}}"/>
|
||||||
</DataGridTextColumn.Header>
|
</DataGridTextColumn.Header>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<!-- Archived -->
|
<!-- Archived -->
|
||||||
<DataGridTemplateColumn x:Key="colARCHIVED">
|
<DataGridTemplateColumn x:Key="colARCHIVED"
|
||||||
|
CanUserSort="False">
|
||||||
<DataGridTemplateColumn.CellTemplate>
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<Image Source="\Resources\OpenProjectFileDialog\Archived.png"
|
<Image Source="\Resources\OpenProjectFileDialog\Archived.png"
|
||||||
|
|||||||
@@ -83,4 +83,182 @@ Public Class NewOpenProjectFileDialogV
|
|||||||
'm_OpenProjFileDialogVM.SetIsEditNameActive(False)
|
'm_OpenProjFileDialogVM.SetIsEditNameActive(False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
End Class
|
Private Sub MainDataGrid_Sorting(sender As Object, e As DataGridSortingEventArgs)
|
||||||
|
' aggiorno direziona colonna
|
||||||
|
Dim column As DataGridColumn = e.Column
|
||||||
|
column.SortDirection = If((column.SortDirection <> ListSortDirection.Ascending), ListSortDirection.Ascending, ListSortDirection.Descending)
|
||||||
|
'' ricalcolo colonne sort
|
||||||
|
'Dim datagrid As DataGrid = sender
|
||||||
|
'ProdItemComparer.RefreshColumns()
|
||||||
|
'' lancio sort custom
|
||||||
|
'm_OpenProjFileDialogVM.RefreshProdItemSort()
|
||||||
|
m_OpenProjFileDialogVM.SortPageList()
|
||||||
|
m_OpenProjFileDialogVM.UpdatePageList()
|
||||||
|
e.Handled = True
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Friend Class ProdItemComparer
|
||||||
|
Implements IComparer
|
||||||
|
|
||||||
|
Private Shared DataGrid As DataGrid
|
||||||
|
Friend Shared Sub SetDataGrid(value As DataGrid)
|
||||||
|
DataGrid = value
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared m_OpenProjFileDialogVM As NewOpenProjectFileDialogVM
|
||||||
|
Friend Shared Sub SetOpenProjFileDialogVM(value As NewOpenProjectFileDialogVM)
|
||||||
|
m_OpenProjFileDialogVM = value
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared m_ColumnList As New List(Of DataGridColumn)
|
||||||
|
Private Shared m_EgtColumnList As New List(Of EgtDataGridColumn)
|
||||||
|
|
||||||
|
Friend Shared Sub RefreshColumns()
|
||||||
|
m_ColumnList.Clear()
|
||||||
|
m_EgtColumnList.Clear()
|
||||||
|
For Each col In DataGrid.Columns
|
||||||
|
If Not IsNothing(col.SortDirection) Then
|
||||||
|
m_ColumnList.Add(col)
|
||||||
|
m_EgtColumnList.Add(m_OpenProjFileDialogVM.ProdColumns(col.DisplayIndex))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
' Map.refRawPartListVM.SetRawPartListSorted(m_ColumnList.Count > 0)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Public Function Compare(x As Object, y As Object) As Integer Implements IComparer.Compare
|
||||||
|
' Dim First As MyMachGroupVM = DirectCast(x, MyMachGroupVM)
|
||||||
|
' Dim Second As MyMachGroupVM = DirectCast(y, MyMachGroupVM)
|
||||||
|
' Dim bFirstProduced As Boolean = First.nProduction_State = Core.ItemState.WIP OrElse First.nProduction_State = Core.ItemState.Produced
|
||||||
|
' Dim bSecondProduced As Boolean = Second.nProduction_State = Core.ItemState.WIP OrElse Second.nProduction_State = Core.ItemState.Produced
|
||||||
|
' Dim bFirstInQueue As Boolean = First.bToBeProduced
|
||||||
|
' Dim bSecondInQueue As Boolean = Second.bToBeProduced
|
||||||
|
' ' verifico se gia' prodotti
|
||||||
|
' If bFirstProduced AndAlso bSecondProduced Then
|
||||||
|
' If First.nProductionIndex > Second.nProductionIndex Then
|
||||||
|
' Return 1
|
||||||
|
' ElseIf First.nProductionIndex < Second.nProductionIndex Then
|
||||||
|
' Return -1
|
||||||
|
' Else
|
||||||
|
' Return 0
|
||||||
|
' End If
|
||||||
|
' ElseIf bFirstProduced Then
|
||||||
|
' Return -1
|
||||||
|
' ElseIf bSecondProduced Then
|
||||||
|
' Return 1
|
||||||
|
' ElseIf bFirstInQueue AndAlso bSecondInQueue Then
|
||||||
|
' If First.nProductionIndex > Second.nProductionIndex Then
|
||||||
|
' Return 1
|
||||||
|
' ElseIf First.nProductionIndex < Second.nProductionIndex Then
|
||||||
|
' Return -1
|
||||||
|
' Else
|
||||||
|
' Return 0
|
||||||
|
' End If
|
||||||
|
' ElseIf bFirstInQueue Then
|
||||||
|
' Return -1
|
||||||
|
' ElseIf bSecondInQueue Then
|
||||||
|
' Return 1
|
||||||
|
' Else
|
||||||
|
' ' verifico ordine per colonne
|
||||||
|
' Dim ColumnIndex = 0
|
||||||
|
' While ColumnIndex <= m_EgtColumnList.Count - 1
|
||||||
|
' Dim nDir As ListSortDirection = If(m_ColumnList(ColumnIndex).SortDirection, 1, -1)
|
||||||
|
' Dim nCheck As Integer = Check(First, Second, nDir, m_EgtColumnList(ColumnIndex))
|
||||||
|
' If nCheck <> 0 Then
|
||||||
|
' Return nCheck
|
||||||
|
' End If
|
||||||
|
' ColumnIndex += 1
|
||||||
|
' End While
|
||||||
|
' ' se non trovo colonne, metto in ordine indice di produzione
|
||||||
|
' If First.nProductionIndex > Second.nProductionIndex Then
|
||||||
|
' Return 1
|
||||||
|
' ElseIf First.nProductionIndex < Second.nProductionIndex Then
|
||||||
|
' Return -1
|
||||||
|
' Else
|
||||||
|
' Return 0
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function Check(First As MyMachGroupVM, Second As MyMachGroupVM, nDirection As Integer, Column As EgtDataGridColumn) As Integer
|
||||||
|
Select Case Column.Name
|
||||||
|
Case COL_NAME
|
||||||
|
If First.nName > Second.nName Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.nName < Second.nName Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_STARTCUT
|
||||||
|
If First.Id > Second.Id Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.Id < Second.Id Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_W
|
||||||
|
If First.dW > Second.dW Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.dW < Second.dW Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_H
|
||||||
|
If First.dH > Second.dH Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.dH < Second.dH Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_L
|
||||||
|
If First.dL > Second.dL Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.dL < Second.dL Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_POSZ
|
||||||
|
'If First.posz > Second.dL Then
|
||||||
|
' Return 1 * nDirection
|
||||||
|
'ElseIf First.dL < Second.dL Then
|
||||||
|
' Return -1 * nDirection
|
||||||
|
'Else
|
||||||
|
' Return 0
|
||||||
|
'End If
|
||||||
|
Case COL_MATERIAL
|
||||||
|
If First.sMATERIAL > Second.sMATERIAL Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.sMATERIAL < Second.sMATERIAL Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_USAGE
|
||||||
|
If First.dUsage > Second.dUsage Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.dUsage < Second.dUsage Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Case COL_WASTE
|
||||||
|
If First.dWaste > Second.dWaste Then
|
||||||
|
Return 1 * nDirection
|
||||||
|
ElseIf First.dWaste < Second.dWaste Then
|
||||||
|
Return -1 * nDirection
|
||||||
|
Else
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
EXPORTDATE = 1
|
EXPORTDATE = 1
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Private Enum FilterTypes As Integer
|
Protected Enum FilterTypes As Integer
|
||||||
NULL = 0
|
NULL = 0
|
||||||
ID = 1
|
ID = 1
|
||||||
BTLFILENAME = 2
|
BTLFILENAME = 2
|
||||||
@@ -36,9 +36,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum RowQuantities As Integer
|
Public Enum RowQuantities As Integer
|
||||||
FIFTY = 0
|
TEN = 0
|
||||||
HUNDRED = 1
|
TWENTY = 1
|
||||||
HUNDREDANDFIFTY = 2
|
THIRTY = 2
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
@@ -67,6 +67,27 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Private m_colProjId_Name As EgtDataGridColumn
|
||||||
|
Public ReadOnly Property colProjId_Name As EgtDataGridColumn
|
||||||
|
Get
|
||||||
|
Return m_colProjId_Name
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_colProdId_Name As EgtDataGridColumn
|
||||||
|
Public ReadOnly Property colProdId_Name As EgtDataGridColumn
|
||||||
|
Get
|
||||||
|
Return m_colProdId_Name
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_colCreateDate_Name As EgtDataGridColumn
|
||||||
|
Public ReadOnly Property colCreateDate_Name As EgtDataGridColumn
|
||||||
|
Get
|
||||||
|
Return m_colCreateDate_Name
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
Protected m_ProjColumns As New ObservableCollection(Of EgtDataGridColumn)
|
Protected m_ProjColumns As New ObservableCollection(Of EgtDataGridColumn)
|
||||||
Public Property ProjColumns As ObservableCollection(Of EgtDataGridColumn)
|
Public Property ProjColumns As ObservableCollection(Of EgtDataGridColumn)
|
||||||
Get
|
Get
|
||||||
@@ -106,7 +127,13 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public m_ProjectList_View As CollectionView = Nothing
|
Private m_ProjectList_View As CollectionView = Nothing
|
||||||
|
Public ReadOnly Property ProjectList_View As CollectionView
|
||||||
|
Get
|
||||||
|
Return m_ProjectList_View
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
Protected m_ProjectList As New ObservableCollection(Of ProdItem)
|
Protected m_ProjectList As New ObservableCollection(Of ProdItem)
|
||||||
Public ReadOnly Property ProjectList As ObservableCollection(Of ProdItem)
|
Public ReadOnly Property ProjectList As ObservableCollection(Of ProdItem)
|
||||||
Get
|
Get
|
||||||
@@ -185,7 +212,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Set(value As Integer)
|
Set(value As Integer)
|
||||||
' aggiorno lista da Db
|
' aggiorno lista da Db
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
m_ProjectList_View.Refresh()
|
'm_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -227,7 +255,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
NotifyPropertyChanged(NameOf(Date_Visibility))
|
NotifyPropertyChanged(NameOf(Date_Visibility))
|
||||||
' aggiorno lista da Db
|
' aggiorno lista da Db
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
m_ProjectList_View.Refresh()
|
' m_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -242,7 +271,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_STARTDATE, lStartDate.ToString())
|
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_STARTDATE, lStartDate.ToString())
|
||||||
' aggiorno lista da Db
|
' aggiorno lista da Db
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
m_ProjectList_View.Refresh()
|
' m_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -257,7 +287,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_ENDDATE, lEndDate.ToString())
|
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_ENDDATE, lEndDate.ToString())
|
||||||
' aggiorno lista da Db
|
' aggiorno lista da Db
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
m_ProjectList_View.Refresh()
|
' m_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -275,7 +306,7 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private m_SelRowQuantity As RowQuantities
|
Protected m_SelRowQuantity As RowQuantities
|
||||||
Public Property SelRowQuantity As Integer
|
Public Property SelRowQuantity As Integer
|
||||||
Get
|
Get
|
||||||
Return m_SelRowQuantity
|
Return m_SelRowQuantity
|
||||||
@@ -283,7 +314,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Set(value As Integer)
|
Set(value As Integer)
|
||||||
m_SelRowQuantity = value
|
m_SelRowQuantity = value
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
m_ProjectList_View.Refresh()
|
' m_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -308,7 +340,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
If Not IsNothing(SearchDate) Then SearchDate.Clear()
|
If Not IsNothing(SearchDate) Then SearchDate.Clear()
|
||||||
' setto il Tipo Filtro a NULL e refresho la lista dei progetti (in modo da averli visibili tutti)
|
' setto il Tipo Filtro a NULL e refresho la lista dei progetti (in modo da averli visibili tutti)
|
||||||
m_SelFilterType = m_FilterTypeList(0)
|
m_SelFilterType = m_FilterTypeList(0)
|
||||||
m_ProjectList_View.Refresh()
|
'm_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
' ora setto il valore scelto come Tipo Filtro
|
' ora setto il valore scelto come Tipo Filtro
|
||||||
m_SelFilterType = value
|
m_SelFilterType = value
|
||||||
Select Case m_SelFilterType.Id
|
Select Case m_SelFilterType.Id
|
||||||
@@ -332,7 +365,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
m_SearchText = value
|
m_SearchText = value
|
||||||
m_ProjectList_View.Refresh()
|
'm_ProjectList_View.Refresh()
|
||||||
|
UpdatePageList()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -390,9 +424,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
m_bViewArchived = value
|
m_bViewArchived = value
|
||||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_VIEWARCHIVED, If(bViewArchived, 1, 0))
|
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_VIEWARCHIVED, If(bViewArchived, 1, 0))
|
||||||
If Not IsNothing( m_colArchived_Name) Then
|
If Not IsNothing(m_colArchived_Name) Then
|
||||||
m_colArchived_Name.Visible = value
|
m_colArchived_Name.Visible = value
|
||||||
RefreshProjectList()
|
RefreshProjectList()
|
||||||
End If
|
End If
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
@@ -419,6 +453,30 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
NotifyPropertyChanged(NameOf(bDelete_IsEnabled))
|
NotifyPropertyChanged(NameOf(bDelete_IsEnabled))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private m_PageList_View As ListCollectionView = Nothing
|
||||||
|
Public ReadOnly Property PageList_View As ListCollectionView
|
||||||
|
Get
|
||||||
|
Return m_PageList_View
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Protected m_PageList As New ObservableCollection(Of ProdItem)
|
||||||
|
Public Property PageList As ObservableCollection(Of ProdItem)
|
||||||
|
Get
|
||||||
|
Return m_PageList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of ProdItem))
|
||||||
|
m_PageList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nPageIndex As Integer = 1
|
||||||
|
Public ReadOnly Property nPageIndex As Integer
|
||||||
|
Get
|
||||||
|
Return m_nPageIndex
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
Protected m_ChangeOpenedProjectOnCancel As Boolean = False
|
Protected m_ChangeOpenedProjectOnCancel As Boolean = False
|
||||||
|
|
||||||
#Region "Messages"
|
#Region "Messages"
|
||||||
@@ -545,6 +603,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Private m_cmdDelete As ICommand
|
Private m_cmdDelete As ICommand
|
||||||
Private m_cmdArchive As ICommand
|
Private m_cmdArchive As ICommand
|
||||||
Private m_cmdCancel As ICommand
|
Private m_cmdCancel As ICommand
|
||||||
|
Private m_cmdPrevPage As ICommand
|
||||||
|
Private m_cmdNextPage As ICommand
|
||||||
|
|
||||||
#End Region ' FIELDS & PROPERTIES
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
@@ -555,6 +615,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
LoadColumns()
|
LoadColumns()
|
||||||
m_colProdFile_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
|
m_colProdFile_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
|
||||||
m_colArchived_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_ARCHIVED)
|
m_colArchived_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_ARCHIVED)
|
||||||
|
m_colProjId_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_PROJID)
|
||||||
|
m_colProdId_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_PRODID)
|
||||||
|
m_colCreateDate_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_CREATEDATE)
|
||||||
' leggo valori per filtri
|
' leggo valori per filtri
|
||||||
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
|
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
|
||||||
Select Case m_SelDayType
|
Select Case m_SelDayType
|
||||||
@@ -589,6 +652,29 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False)
|
Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private m_ProdItemComparer As ProdItemComparer
|
||||||
|
Friend ReadOnly Property ProdItemComparer As ProdItemComparer
|
||||||
|
Get
|
||||||
|
Return m_ProdItemComparer
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Friend Sub SetPageListView()
|
||||||
|
m_PageList_View = CollectionViewSource.GetDefaultView(m_PageList)
|
||||||
|
m_ProdItemComparer = New ProdItemComparer
|
||||||
|
m_PageList_View.CustomSort = m_ProdItemComparer
|
||||||
|
NotifyPropertyChanged(NameOf(PageList_View))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub RefreshProdItemSort()
|
||||||
|
m_PageList_View.CustomSort = m_ProdItemComparer
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub SortPageList()
|
||||||
|
' m_ProjectList = New ObservableCollection(Of ProdItem)(m_ProjectList.OrderBy(Of Integer)(Function(x) If(String.IsNullOrWhiteSpace(x.sProdId), 0, CInt(x.sProdId))))
|
||||||
|
End Sub
|
||||||
|
|
||||||
Protected Sub LoadColumns()
|
Protected Sub LoadColumns()
|
||||||
'If ProjectType = ProjectType.PROJ Then
|
'If ProjectType = ProjectType.PROJ Then
|
||||||
' carico le colonne della datagrid
|
' carico le colonne della datagrid
|
||||||
@@ -650,17 +736,69 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
Return AllFilesInDir.Any(Function(x) Path.GetExtension(x).ToLower() = ".nge")
|
Return AllFilesInDir.Any(Function(x) Path.GetExtension(x).ToLower() = ".nge")
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Protected Function ProjectFilter(Proj As Object) As Boolean
|
'Protected Function ProjectFilter(Proj As Object) As Boolean
|
||||||
Dim bProjectOk As Boolean = True
|
' Dim bProjectOk As Boolean = True
|
||||||
'If TypeOf Proj Is ProjFileVM Then
|
' 'If TypeOf Proj Is ProjFileVM Then
|
||||||
Dim CurrProj As ProdItem = DirectCast(Proj, ProdItem)
|
' Dim CurrProj As ProdItem = DirectCast(Proj, ProdItem)
|
||||||
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
(m_SelFilterType.Id = BTLDateTypes.EXPORTDATE AndAlso Not CurrProj.ProjFileList.Any(Function(x) SearchDate.Contains(DirectCast(x, ProjFileVM).dtExportDate.Date))) OrElse
|
' (m_SelFilterType.Id = BTLDateTypes.EXPORTDATE AndAlso Not CurrProj.ProjFileList.Any(Function(x) SearchDate.Contains(DirectCast(x, ProjFileVM).dtExportDate.Date))) OrElse
|
||||||
(m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
' (m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
||||||
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
(m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
(m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
' (m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
|
' 'ElseIf TypeOf Proj Is ProdFileVM Then
|
||||||
|
' ' Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
|
||||||
|
' ' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
|
' ' (m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
||||||
|
' ' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
|
' ' (m_SelFilterType.Id = FilterTypes.ID AndAlso CurrProj.sProdId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
||||||
|
' ' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
||||||
|
' ' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
|
' 'End If
|
||||||
|
' Return bProjectOk
|
||||||
|
'End Function
|
||||||
|
|
||||||
|
Public Overridable Function UpdatePageList() As Boolean
|
||||||
|
Dim FilteredList As IEnumerable(Of ProdItem) = m_ProjectList.Where(Function(x)
|
||||||
|
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso
|
||||||
|
((m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso x.ProjFileList.Any(Function(y) DirectCast(y, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso x.ProjFileList.Any(Function(y) DirectCast(y, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso x.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then Return False
|
||||||
|
Return True
|
||||||
|
End Function)
|
||||||
|
Dim nPageRowQty As Integer = 0
|
||||||
|
Select Case m_SelRowQuantity
|
||||||
|
Case RowQuantities.TEN
|
||||||
|
nPageRowQty = 10
|
||||||
|
Case RowQuantities.TWENTY
|
||||||
|
nPageRowQty = 20
|
||||||
|
Case RowQuantities.THIRTY
|
||||||
|
nPageRowQty = 30
|
||||||
|
End Select
|
||||||
|
Dim nStart = nPageIndex * nPageRowQty
|
||||||
|
If (nPageIndex - 1) * nPageRowQty + 1 > FilteredList.Count() Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
' FilteredList = FilteredList.OrderBy(Of ProdItem)()
|
||||||
|
' m_PageList = New ObservableCollection(Of ProdItem)(FilteredList.Skip((nPageIndex - 1) * nPageRowQty + 1).Take(nPageIndex * nPageRowQty).Select(Function(x) x))
|
||||||
|
m_PageList.Clear()
|
||||||
|
For Index = (nPageIndex - 1) * nPageRowQty + 1 To nPageIndex * nPageRowQty
|
||||||
|
m_PageList.Add(FilteredList(Index))
|
||||||
|
Next
|
||||||
|
NotifyPropertyChanged(NameOf(PageList))
|
||||||
|
Return True
|
||||||
|
|
||||||
|
'Dim bProjectOk As Boolean = True
|
||||||
|
''If TypeOf Proj Is ProjFileVM Then
|
||||||
|
'Dim CurrProj As ProdItem = DirectCast(PROJ, ProdItem)
|
||||||
|
'If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
|
' (m_SelFilterType.Id = BTLDateTypes.EXPORTDATE AndAlso Not CurrProj.ProjFileList.Any(Function(x) SearchDate.Contains(DirectCast(x, ProjFileVM).dtExportDate.Date))) OrElse
|
||||||
|
' (m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
||||||
|
'If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
'ElseIf TypeOf Proj Is ProdFileVM Then
|
'ElseIf TypeOf Proj Is ProdFileVM Then
|
||||||
' Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
|
' Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
|
||||||
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
@@ -670,6 +808,15 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
||||||
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
'End If
|
'End If
|
||||||
|
' Return bProjectOk
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Protected Function ProjectFilter(CurrProj As ProdItem) As Boolean
|
||||||
|
Dim bProjectOk As Boolean = True
|
||||||
|
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
|
(m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
Return bProjectOk
|
Return bProjectOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -775,6 +922,60 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
|||||||
|
|
||||||
#End Region ' Cancel
|
#End Region ' Cancel
|
||||||
|
|
||||||
|
#Region "PrevPage"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do New.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property PrevPage_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdPrevPage Is Nothing Then
|
||||||
|
m_cmdPrevPage = New Command(AddressOf PrevPage)
|
||||||
|
End If
|
||||||
|
Return m_cmdPrevPage
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the New. This method is invoked by the NewCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Overridable Sub PrevPage()
|
||||||
|
If m_nPageIndex > 1 Then
|
||||||
|
m_nPageIndex -= 1
|
||||||
|
End If
|
||||||
|
UpdatePageList()
|
||||||
|
NotifyPropertyChanged(NameOf(nPageIndex))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' PrevPage
|
||||||
|
|
||||||
|
#Region "NextPage"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do New.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property NextPage_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdNextPage Is Nothing Then
|
||||||
|
m_cmdNextPage = New Command(AddressOf NextPage)
|
||||||
|
End If
|
||||||
|
Return m_cmdNextPage
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the New. This method is invoked by the NewCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Overridable Sub NextPage()
|
||||||
|
m_nPageIndex += 1
|
||||||
|
If Not UpdatePageList() Then
|
||||||
|
m_nPageIndex -= 1
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(nPageIndex))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' NextPage
|
||||||
|
|
||||||
#End Region ' Commands
|
#End Region ' Commands
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ Public Class SupervisorMachGroupPanelVM
|
|||||||
#End Region ' FIELDS & PROPERTIES
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
#Region "CONSTRUCTOR"
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
Private m_MachGroupVMListComparer As MyComparer
|
Private m_MachGroupVMListComparer As MyComparer
|
||||||
Friend ReadOnly Property MachGroupVMListComparer As MyComparer
|
Friend ReadOnly Property MachGroupVMListComparer As MyComparer
|
||||||
Get
|
Get
|
||||||
|
|||||||
@@ -95,7 +95,9 @@ Public Class SupervisorManagerVM
|
|||||||
|
|
||||||
|
|
||||||
#End Region ' ToolTip
|
#End Region ' ToolTip
|
||||||
|
|
||||||
#End Region ' Fields & Properties
|
#End Region ' Fields & Properties
|
||||||
|
|
||||||
#Region "CONSTRUCTOR"
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
Sub New()
|
Sub New()
|
||||||
|
|||||||
+107
-36
@@ -34,8 +34,9 @@ Public Class NewOpenProjectFileDialogVM
|
|||||||
SetFixedProjectList(True)
|
SetFixedProjectList(True)
|
||||||
NotifyPropertyChanged(NameOf(ProjectList))
|
NotifyPropertyChanged(NameOf(ProjectList))
|
||||||
End If
|
End If
|
||||||
m_ProjectList_View = CollectionViewSource.GetDefaultView(m_ProjectList)
|
'm_ProjectList_View = CollectionViewSource.GetDefaultView(m_ProjectList)
|
||||||
m_ProjectList_View.Filter = AddressOf ProjectFilter
|
'm_ProjectList_View.Filter = AddressOf ProjectFilter
|
||||||
|
UpdatePageList()
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False)
|
Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False)
|
||||||
@@ -45,19 +46,19 @@ Public Class NewOpenProjectFileDialogVM
|
|||||||
Dim dtEnd As DateTime
|
Dim dtEnd As DateTime
|
||||||
Dim nRowQuantity As Integer = 20
|
Dim nRowQuantity As Integer = 20
|
||||||
Select Case SelRowQuantity
|
Select Case SelRowQuantity
|
||||||
Case RowQuantities.FIFTY
|
Case RowQuantities.TEN
|
||||||
nRowQuantity = 50
|
nRowQuantity = 10
|
||||||
Case RowQuantities.HUNDRED
|
Case RowQuantities.TWENTY
|
||||||
nRowQuantity = 100
|
nRowQuantity = 20
|
||||||
Case RowQuantities.HUNDREDANDFIFTY
|
Case RowQuantities.THIRTY
|
||||||
nRowQuantity = 150
|
nRowQuantity = 30
|
||||||
End Select
|
End Select
|
||||||
Select Case m_SelDayType
|
Select Case m_SelDayType
|
||||||
Case DayTypes.LASTMONTH
|
Case DayTypes.LASTMONTH
|
||||||
dtEnd = DateTime.Today + TimeSpan.FromDays(1)
|
dtEnd = DateTime.Today.AddDays(1)
|
||||||
dtStart = dtEnd - TimeSpan.FromDays(30.5)
|
dtStart = dtEnd.AddMonths(-1)
|
||||||
Case DayTypes.LAST3MONTHS
|
Case DayTypes.LAST3MONTHS
|
||||||
dtEnd = DateTime.Today + TimeSpan.FromDays(1)
|
dtEnd = DateTime.Today.AddDays(1)
|
||||||
dtStart = dtEnd - TimeSpan.FromDays(30.5 * 3)
|
dtStart = dtEnd - TimeSpan.FromDays(30.5 * 3)
|
||||||
Case DayTypes.LAST6MONTHS
|
Case DayTypes.LAST6MONTHS
|
||||||
dtEnd = DateTime.Today + TimeSpan.FromDays(1)
|
dtEnd = DateTime.Today + TimeSpan.FromDays(1)
|
||||||
@@ -71,31 +72,48 @@ Public Class NewOpenProjectFileDialogVM
|
|||||||
End Select
|
End Select
|
||||||
' leggo da db
|
' leggo da db
|
||||||
If m_ProjectType = ProjectType.PROJ Then
|
If m_ProjectType = ProjectType.PROJ Then
|
||||||
Dim DbProjList As New List(Of ProjFileM)
|
'Dim DbProjList As New List(Of ProjFileM)
|
||||||
If m_SelBTLDateType = BTLDateTypes.CREATEDATE Then
|
'If m_SelBTLDateType = BTLDateTypes.CREATEDATE Then
|
||||||
DbProjList = DbControllers.m_ProjController.GetLastDesc(dtStart, dtEnd, nRowQuantity * 3, True, bViewArchived)
|
' DbProjList = DbControllers.m_ProjController.GetLastDesc(dtStart, dtEnd, 100000, True, bViewArchived)
|
||||||
Else
|
' 'DbProjList = DbControllers.m_ProjController.GetLastDesc(dtStart, dtEnd, nRowQuantity * 3, True, bViewArchived)
|
||||||
DbProjList = DbControllers.m_ProjController.GetLastByExpDesc(dtStart, dtEnd, nRowQuantity * 3, True, bViewArchived)
|
'Else
|
||||||
End If
|
' DbProjList = DbControllers.m_ProjController.GetLastByExpDesc(dtStart, dtEnd, nRowQuantity * 3, True, bViewArchived)
|
||||||
For Each Project In DbProjList
|
'End If
|
||||||
If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For
|
'For Each Project In DbProjList
|
||||||
' verifico se ha prod
|
' If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For
|
||||||
If Not IsNothing(Project.nProdId) And Project.nProdId > 0 Then
|
' ' verifico se ha prod
|
||||||
' verifico se prod e' gia' stato creato
|
' If Not IsNothing(Project.nProdId) And Project.nProdId > 0 Then
|
||||||
Dim SameProdItem As ProdItem = m_ProjectList.FirstOrDefault(Function(x) Not IsNothing(x.ProdFileVM) AndAlso Not IsNothing(x.ProdFileVM.nProdId) AndAlso x.ProdFileVM.nProdId = Project.nProdId)
|
' ' verifico se prod e' gia' stato creato
|
||||||
If Not IsNothing(SameProdItem) Then
|
' Dim SameProdItem As ProdItem = m_ProjectList.FirstOrDefault(Function(x) Not IsNothing(x.ProdFileVM) AndAlso Not IsNothing(x.ProdFileVM.nProdId) AndAlso x.ProdFileVM.nProdId = Project.nProdId)
|
||||||
SameProdItem.ProjFileList.Add(New ProjFileVM(Project))
|
' If Not IsNothing(SameProdItem) Then
|
||||||
Else
|
' SameProdItem.ProjFileList.Add(New ProjFileVM(Project))
|
||||||
' recupero Prod
|
' Else
|
||||||
Dim NewDbProd As ProdFileM = DbControllers.m_ProdController.FindCoreByProdId(Project.nProdId)
|
' ' recupero Prod
|
||||||
If Not IsNothing(NewDbProd) Then
|
' Dim NewDbProd As ProdFileM = DbControllers.m_ProdController.FindCoreByProdId(Project.nProdId)
|
||||||
m_ProjectList.Add(New ProdItem(New ProdFileVM(NewDbProd), New ProjFileVM(Project)))
|
' If Not IsNothing(NewDbProd) Then
|
||||||
End If
|
' m_ProjectList.Add(New ProdItem(New ProdFileVM(NewDbProd), New ProjFileVM(Project)))
|
||||||
End If
|
' End If
|
||||||
Else
|
' End If
|
||||||
m_ProjectList.Add(New ProdItem(New ProjFileVM(Project)))
|
' Else
|
||||||
End If
|
' m_ProjectList.Add(New ProdItem(New ProjFileVM(Project)))
|
||||||
Next
|
' End If
|
||||||
|
'Next
|
||||||
|
m_ProjectList = New ObservableCollection(Of Core.ProdItem)(DbControllers.m_ProdController.GetLastDescFull(dtStart, dtEnd, nRowQuantity * 3, True, bViewArchived))
|
||||||
|
'Dim sMachine As String = ""
|
||||||
|
'Dim sBtlFileName As String = ""
|
||||||
|
'Dim sListName As String = ""
|
||||||
|
'Dim bIsCreationDate As Boolean = True
|
||||||
|
'If SelFilterType.Id = FilterTypes.ID Then
|
||||||
|
' ' sMachine = SearchText
|
||||||
|
'ElseIf SelFilterType.Id = FilterTypes.BTLFILENAME Then
|
||||||
|
' sBtlFileName = SearchText
|
||||||
|
'ElseIf SelFilterType.Id = FilterTypes.LISTNAME Then
|
||||||
|
' sListName = SearchText
|
||||||
|
'ElseIf SelFilterType.Id = FilterTypes.MACHINE Then
|
||||||
|
' sMachine = SearchText
|
||||||
|
'End If
|
||||||
|
'm_ProjectList = New ObservableCollection(Of Core.ProdItem)(DbControllers.m_ProdController.GetLastDescFull(dtStart, dtEnd, bIsCreationDate, nRowQuantity * 3, True, sMachine, sBtlFileName, sListName, bViewArchived))
|
||||||
|
NotifyPropertyChanged(NameOf(ProjectList))
|
||||||
ElseIf m_ProjectType = ProjectType.PROD Then
|
ElseIf m_ProjectType = ProjectType.PROD Then
|
||||||
Dim DbProdList As New List(Of ProdFileM)
|
Dim DbProdList As New List(Of ProdFileM)
|
||||||
DbProdList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True, bViewArchived)
|
DbProdList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True, bViewArchived)
|
||||||
@@ -136,6 +154,59 @@ Public Class NewOpenProjectFileDialogVM
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Function UpdatePageList() As Boolean
|
||||||
|
Dim FilteredList As IEnumerable(Of Core.ProdItem) = m_ProjectList.Where(Function(x)
|
||||||
|
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso
|
||||||
|
((m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso x.ProjFileList.Any(Function(y) DirectCast(y, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso x.ProjFileList.Any(Function(y) DirectCast(y, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso x.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then Return False
|
||||||
|
Return True
|
||||||
|
End Function)
|
||||||
|
Dim nPageRowQty As Integer = 0
|
||||||
|
Select Case m_SelRowQuantity
|
||||||
|
Case RowQuantities.TEN
|
||||||
|
nPageRowQty = 10
|
||||||
|
Case RowQuantities.TWENTY
|
||||||
|
nPageRowQty = 20
|
||||||
|
Case RowQuantities.THIRTY
|
||||||
|
nPageRowQty = 30
|
||||||
|
End Select
|
||||||
|
Dim nStart = (nPageIndex - 1) * nPageRowQty
|
||||||
|
Dim nEnd = Math.Min((nPageIndex * nPageRowQty), FilteredList.Count())
|
||||||
|
If nStart > FilteredList.Count() Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
' FilteredList = FilteredList.OrderBy(Of ProdItem)()
|
||||||
|
m_PageList = New ObservableCollection(Of ProdItem)(FilteredList.Skip(nStart).Take(nPageRowQty).Select(Function(x) x))
|
||||||
|
'm_PageList.Clear()
|
||||||
|
'For Index = nStart To nEnd
|
||||||
|
' m_PageList.Add(FilteredList(Index))
|
||||||
|
'Next
|
||||||
|
NotifyPropertyChanged(NameOf(PageList))
|
||||||
|
Return True
|
||||||
|
|
||||||
|
'Dim bProjectOk As Boolean = True
|
||||||
|
''If TypeOf Proj Is ProjFileVM Then
|
||||||
|
'Dim CurrProj As ProdItem = DirectCast(PROJ, ProdItem)
|
||||||
|
'If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
|
' (m_SelFilterType.Id = BTLDateTypes.EXPORTDATE AndAlso Not CurrProj.ProjFileList.Any(Function(x) SearchDate.Contains(DirectCast(x, ProjFileVM).dtExportDate.Date))) OrElse
|
||||||
|
' (m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
||||||
|
'If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.ProjFileList.Any(Function(x) DirectCast(x, ProjFileVM).sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
|
'ElseIf TypeOf Proj Is ProdFileVM Then
|
||||||
|
' Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
|
||||||
|
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
|
||||||
|
' (m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
|
||||||
|
' If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.ID AndAlso CurrProj.sProdId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
|
||||||
|
' (m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
|
||||||
|
'End If
|
||||||
|
' Return bProjectOk
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Overrides Sub Archive()
|
Public Overrides Sub Archive()
|
||||||
If IsNothing(SelProject) Then Return
|
If IsNothing(SelProject) Then Return
|
||||||
If Not IsNothing(SelProject.ProdFileVM) Then
|
If Not IsNothing(SelProject.ProdFileVM) Then
|
||||||
|
|||||||
@@ -438,7 +438,7 @@ Public Class ProjManagerVM
|
|||||||
Dim OpenFile As New NewOpenProjectFileDialogV(Application.Current.MainWindow, OpenProdFileDialogVM)
|
Dim OpenFile As New NewOpenProjectFileDialogV(Application.Current.MainWindow, OpenProdFileDialogVM)
|
||||||
Dim DialogResult As Boolean? = OpenFile.EgtShowDialog(ProjectType.PROJ)
|
Dim DialogResult As Boolean? = OpenFile.EgtShowDialog(ProjectType.PROJ)
|
||||||
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||||
Dim TempProd As ProdItem = OpenProdFileDialogVM.SelProject
|
Dim TempProd As Core.ProdItem = OpenProdFileDialogVM.SelProject
|
||||||
If TempProd.ProjFileList.Count > 1 Then
|
If TempProd.ProjFileList.Count > 1 Then
|
||||||
' apro dialogo di scelta Proj
|
' apro dialogo di scelta Proj
|
||||||
Dim OpenProjFileDialogVM As OpenProjectFileDialogVM = Nothing
|
Dim OpenProjFileDialogVM As OpenProjectFileDialogVM = Nothing
|
||||||
|
|||||||
Reference in New Issue
Block a user