Compare commits

...

3 Commits

Author SHA1 Message Date
Emmanuele Sassi 9eb30b0697 - Ulteriori modifiche a paginazione e filtri nuova finestra apri 2023-10-16 18:20:53 +02:00
Emmanuele Sassi 0c73db4f52 Merge branch 'feature/NewOpenWindow' into feature/NewOpenWindowNotWorking 2023-10-09 11:18:19 +02:00
Emmanuele Sassi 1f36c9a5b0 test modifiche non OK 2023-10-02 15:31:52 +02:00
8 changed files with 547 additions and 72 deletions
@@ -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="&lt;"
Command="{Binding PrevPage_Command}" />
<TextBlock Text="{Binding nPageIndex}"
Style="{StaticResource OptionTextBlock}"/>
<Button Content="&gt;"
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()
@@ -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