- aggiunta gestione nome progetto

- miglioramenti filtri data
This commit is contained in:
Emmanuele Sassi
2023-08-24 11:27:02 +02:00
parent 5d42576da1
commit ec6c44d036
8 changed files with 207 additions and 50 deletions
@@ -52,6 +52,13 @@ Public MustInherit Class NewOpenProjectFileDialogVM
End Set
End Property
Private m_colProdFile_Name As EgtDataGridColumn
Public ReadOnly Property colProdFile_Name As EgtDataGridColumn
Get
Return m_colProdFile_Name
End Get
End Property
Protected m_ProjColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property ProjColumns As ObservableCollection(Of EgtDataGridColumn)
Get
@@ -179,19 +186,21 @@ Public MustInherit Class NewOpenProjectFileDialogVM
m_SelDayType = value
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_DAYTYPE, Convert.ToInt32(m_SelDayType))
m_Date_Visibility = If(m_SelDayType = DayTypes.PERIOD, Visibility.Visible, Visibility.Collapsed)
'If m_SelDayType = DayTypes.PERIOD Then
' Select Case PrevSelDayType
' Case DayTypes.LASTMONTH
' m_dtStartDate = DateTime.Today + TimeSpan.FromDays(1)
' m_dtEndDate = m_dtStartDate - TimeSpan.FromDays(31)
' Case DayTypes.LAST3MONTHS
' Case DayTypes.LAST6MONTHS
' End Select
' NotifyPropertyChanged(NameOf(dtStartDate))
' NotifyPropertyChanged(NameOf(dtEndDate))
'End If
If m_SelDayType = DayTypes.PERIOD Then
Select Case PrevSelDayType
Case DayTypes.LASTMONTH
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31)
Case DayTypes.LAST3MONTHS
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31 * 3)
Case DayTypes.LAST6MONTHS
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31 * 6)
End Select
NotifyPropertyChanged(NameOf(dtStartDate))
NotifyPropertyChanged(NameOf(dtEndDate))
End If
NotifyPropertyChanged(NameOf(Date_Visibility))
' aggiorno lista da Db
RefreshProjectList()
@@ -333,6 +342,23 @@ Public MustInherit Class NewOpenProjectFileDialogVM
End Set
End Property
Public Property bIsEditNameActive As Boolean
Get
Return Not m_colProdFile_Name.IsReadOnly
End Get
Set(value As Boolean)
If Not IsNothing(m_colProdFile_Name) Then
m_colProdFile_Name.IsReadOnly = Not value
End If
End Set
End Property
Public Sub SetIsEditNameActive(value As Boolean)
If Not IsNothing(m_colProdFile_Name) Then
m_colProdFile_Name.IsReadOnly = Not value
End If
NotifyPropertyChanged(NameOf(bIsEditNameActive))
End Sub
#Region "Messages"
Public ReadOnly Property Title As String
@@ -420,17 +446,26 @@ Public MustInherit Class NewOpenProjectFileDialogVM
' Definizione comandi
Private m_cmdProjectDoubleClick As ICommand
Private m_cmdDelete As ICommand
Private m_cmdModifyName As ICommand
#End Region ' FIELDS & PROPERTIES
Sub New()
' carico colonne
LoadColumns()
m_colProdFile_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
' leggo valori per filtri
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
Select Case m_SelDayType
Case DayTypes.LASTMONTH
m_dtStartDate = DateTime.Today
m_dtEndDate = DateTime.Today
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31)
Case DayTypes.LAST3MONTHS
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31 * 3)
Case DayTypes.LAST6MONTHS
m_dtEndDate = DateTime.Today + TimeSpan.FromDays(1)
m_dtStartDate = m_dtEndDate - TimeSpan.FromDays(31 * 6)
Case DayTypes.PERIOD
Dim sStartDate As String = "0"
Dim lStartDate As Long = 0
@@ -452,10 +487,10 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False)
End Sub
Protected Sub LoadColumns(ProjectType As ProjectType)
Protected Sub LoadColumns()
'If ProjectType = ProjectType.PROJ Then
' carico le colonne della datagrid
GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROJ, ProjColumns)
' GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROJ, ProjColumns)
' ' carico campi su cui eseguire il filtro di ricerca
' m_BTLDateTypeList = New List(Of String)({CreateDate_Msg, ExportDate_Msg})
' m_SelBTLDateType = BTLDateTypes.CREATEDATE
@@ -558,6 +593,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
''' Execute the New. This method is invoked by the NewCommand.
''' </summary>
Friend Sub ProjDoubleClick()
' verifico se non e' attivo edit del nome
If bIsEditNameActive Then Return
' verifico validita' selezionato
If VerifySelected() Then
RaiseEvent m_CloseWindow(True)
End If
@@ -585,7 +623,33 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Public Overridable Sub Delete()
End Sub
#End Region ' Delete
#End Region ' ModifyName
#Region "ModifyName"
''' <summary>
''' Returns a command that do New.
''' </summary>
Public ReadOnly Property ModifyName_Command As ICommand
Get
If m_cmdModifyName Is Nothing Then
m_cmdModifyName = New Command(AddressOf ModifyName)
End If
Return m_cmdModifyName
End Get
End Property
''' <summary>
''' Execute the New. This method is invoked by the NewCommand.
''' </summary>
Public Sub ModifyName()
Dim NameColumn As EgtDataGridColumn = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
If Not IsNothing(NameColumn) Then
NameColumn.IsReadOnly = False
End If
End Sub
#End Region ' ModifyName
#End Region ' Commands
@@ -593,7 +657,7 @@ End Class
Public Class ProdItem
Private m_ProdFileVM As ProdFileVM
Protected m_ProdFileVM As ProdFileVM
Public ReadOnly Property ProdFileVM As ProdFileVM
Get
Return m_ProdFileVM
@@ -612,7 +676,8 @@ Public Class ProdItem
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sProdId, "")
End Get
End Property
Public Property sName As String
Public Overridable Property sName As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sName, "")
End Get