test modifiche non OK
This commit is contained in:
@@ -19,7 +19,7 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
EXPORTDATE = 1
|
||||
End Enum
|
||||
|
||||
Private Enum FilterTypes As Integer
|
||||
Protected Enum FilterTypes As Integer
|
||||
NULL = 0
|
||||
ID = 1
|
||||
BTLFILENAME = 2
|
||||
@@ -36,9 +36,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
End Enum
|
||||
|
||||
Public Enum RowQuantities As Integer
|
||||
FIFTY = 0
|
||||
HUNDRED = 1
|
||||
HUNDREDANDFIFTY = 2
|
||||
TEN = 0
|
||||
TWENTY = 1
|
||||
THIRTY = 2
|
||||
End Enum
|
||||
|
||||
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||
@@ -67,6 +67,27 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
End Get
|
||||
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)
|
||||
Public Property ProjColumns As ObservableCollection(Of EgtDataGridColumn)
|
||||
Get
|
||||
@@ -185,7 +206,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
Set(value As Integer)
|
||||
' aggiorno lista da Db
|
||||
RefreshProjectList()
|
||||
m_ProjectList_View.Refresh()
|
||||
'm_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -227,7 +249,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
NotifyPropertyChanged(NameOf(Date_Visibility))
|
||||
' aggiorno lista da Db
|
||||
RefreshProjectList()
|
||||
m_ProjectList_View.Refresh()
|
||||
' m_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -242,7 +265,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_STARTDATE, lStartDate.ToString())
|
||||
' aggiorno lista da Db
|
||||
RefreshProjectList()
|
||||
m_ProjectList_View.Refresh()
|
||||
' m_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -257,7 +281,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_ENDDATE, lEndDate.ToString())
|
||||
' aggiorno lista da Db
|
||||
RefreshProjectList()
|
||||
m_ProjectList_View.Refresh()
|
||||
' m_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -275,7 +300,7 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelRowQuantity As RowQuantities
|
||||
Protected m_SelRowQuantity As RowQuantities
|
||||
Public Property SelRowQuantity As Integer
|
||||
Get
|
||||
Return m_SelRowQuantity
|
||||
@@ -283,7 +308,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
Set(value As Integer)
|
||||
m_SelRowQuantity = value
|
||||
RefreshProjectList()
|
||||
m_ProjectList_View.Refresh()
|
||||
' m_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -308,7 +334,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
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)
|
||||
m_SelFilterType = m_FilterTypeList(0)
|
||||
m_ProjectList_View.Refresh()
|
||||
'm_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
' ora setto il valore scelto come Tipo Filtro
|
||||
m_SelFilterType = value
|
||||
Select Case m_SelFilterType.Id
|
||||
@@ -332,7 +359,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_SearchText = value
|
||||
m_ProjectList_View.Refresh()
|
||||
'm_ProjectList_View.Refresh()
|
||||
UpdatePageList()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -390,9 +418,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
Set(value As Boolean)
|
||||
m_bViewArchived = value
|
||||
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_VIEWARCHIVED, If(bViewArchived, 1, 0))
|
||||
If Not IsNothing( m_colArchived_Name) Then
|
||||
m_colArchived_Name.Visible = value
|
||||
RefreshProjectList()
|
||||
If Not IsNothing(m_colArchived_Name) Then
|
||||
m_colArchived_Name.Visible = value
|
||||
RefreshProjectList()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
@@ -419,6 +447,24 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
NotifyPropertyChanged(NameOf(bDelete_IsEnabled))
|
||||
End Sub
|
||||
|
||||
Protected m_PageList As 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
|
||||
|
||||
#Region "Messages"
|
||||
@@ -545,6 +591,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdArchive As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
Private m_cmdPrevPage As ICommand
|
||||
Private m_cmdNextPage As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
@@ -555,6 +603,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
LoadColumns()
|
||||
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_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
|
||||
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
|
||||
Select Case m_SelDayType
|
||||
@@ -650,17 +701,65 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
Return AllFilesInDir.Any(Function(x) Path.GetExtension(x).ToLower() = ".nge")
|
||||
End Function
|
||||
|
||||
Protected Function ProjectFilter(Proj As Object) As Boolean
|
||||
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
|
||||
'Protected Function ProjectFilter(Proj As Object) As Boolean
|
||||
' 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 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))
|
||||
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 (
|
||||
@@ -670,6 +769,15 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
' (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
|
||||
|
||||
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
|
||||
End Function
|
||||
|
||||
@@ -775,6 +883,60 @@ Public MustInherit Class NewOpenProjectFileDialogVM
|
||||
|
||||
#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 Class
|
||||
|
||||
Reference in New Issue
Block a user