diff --git a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj index 5698d3af..122d3816 100644 --- a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj +++ b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj @@ -99,7 +99,7 @@ - + diff --git a/EgtBEAMWALL.Core/ProjectFile.vb b/EgtBEAMWALL.Core/ProjectFile.vb deleted file mode 100644 index ae1c21be..00000000 --- a/EgtBEAMWALL.Core/ProjectFile.vb +++ /dev/null @@ -1,74 +0,0 @@ -Imports System.IO -Imports EgtUILib - -Public Class ProjectFile - - Protected m_nProjectType As ProjectType - Public ReadOnly Property nProjectType As ProjectType - Get - Return m_nProjectType - End Get - End Property - Public Sub SetProjectType(nProjectType As ProjectType) - m_nProjectType = nProjectType - End Sub - - Protected m_nProjId As Integer = 0 - Public ReadOnly Property nProjId As Integer - Get - Return m_nProjId - End Get - End Property - - Protected m_nProdId As Integer = 0 - Public ReadOnly Property nProdId As Integer - Get - Return m_nProdId - End Get - End Property - - Protected m_BTLFileName As String = String.Empty - Public ReadOnly Property BTLFileName As String - Get - Return m_BTLFileName - End Get - End Property - - Protected m_NewProj As Boolean - Public Property NewProj As Boolean - Get - Return m_NewProj - End Get - Set(value As Boolean) - m_NewProj = value - End Set - End Property - - Protected m_NewProd As Boolean - Public Property NewProd As Boolean - Get - Return m_NewProd - End Get - Set(value As Boolean) - m_NewProd = value - End Set - End Property - - ' temporaneo, per funzionamento vecchio senza db - Sub New() - - End Sub - - Sub New(nProjectType As ProjectType, nProjId As Integer, nProdId As Integer, sBTLFileName As String) - m_nProjectType = nProjectType - If m_nProjectType = ProjectType.PROJ Then - m_nProjId = nProjId - m_nProdId = nProdId - m_BTLFileName = sBTLFileName - ElseIf m_nProjectType = ProjectType.PROD Then - m_nProdId = nProdId - End If - End Sub - - -End Class \ No newline at end of file diff --git a/EgtBEAMWALL.Core/ProjectFileM.vb b/EgtBEAMWALL.Core/ProjectFileM.vb new file mode 100644 index 00000000..dc787e6f --- /dev/null +++ b/EgtBEAMWALL.Core/ProjectFileM.vb @@ -0,0 +1,120 @@ +Imports System.IO +Imports EgtUILib + +Public Class ProjectFileM + + Protected m_nProjectType As ProjectType + Public ReadOnly Property nProjectType As ProjectType + Get + Return m_nProjectType + End Get + End Property + Public Sub SetProjectType(nProjectType As ProjectType) + m_nProjectType = nProjectType + End Sub + + Protected m_nProjId As Integer = 0 + Public ReadOnly Property nProjId As Integer + Get + Return m_nProjId + End Get + End Property + + Protected m_nProdId As Integer = 0 + Public ReadOnly Property nProdId As Integer + Get + Return m_nProdId + End Get + End Property + + Protected m_dtCreateDate As DateTime + Public ReadOnly Property dtCreateDate As DateTime + Get + Return m_dtCreateDate + End Get + End Property + + Protected m_dtExportDate As DateTime + Public ReadOnly Property dtExportDate As DateTime + Get + Return m_dtExportDate + End Get + End Property + + Protected m_sName As String + Public ReadOnly Property sName As String + Get + Return m_sName + End Get + End Property + + Protected m_sBTLFileName As String = String.Empty + Public ReadOnly Property sBTLFileName As String + Get + Return m_sBTLFileName + End Get + End Property + + Protected m_NewProj As Boolean + Public Property NewProj As Boolean + Get + Return m_NewProj + End Get + Set(value As Boolean) + m_NewProj = value + End Set + End Property + + Protected m_NewProd As Boolean + Public Property NewProd As Boolean + Get + Return m_NewProd + End Get + Set(value As Boolean) + m_NewProd = value + End Set + End Property + +#Region "CONSTRUCTORS" + + Protected Sub New() + End Sub + + Public Shared Function CreateNewProjectFileM() As ProjectFileM + Return New ProjectFileM + End Function + + Public Shared Function CreateProjectFileM(nProjectType As ProjectType, nProjId As Integer, nProdId As Integer, + dtCreateProjDate As DateTime, dtExportDate As DateTime, sListName As String, + sBTLFileName As String) As ProjectFileM + Dim NewProjectFileM As New ProjectFileM + NewProjectFileM.m_nProjectType = nProjectType + If NewProjectFileM.m_nProjectType = ProjectType.PROJ Then + NewProjectFileM.m_nProjId = nProjId + NewProjectFileM.m_nProdId = nProdId + NewProjectFileM.m_dtCreateDate = dtCreateProjDate + NewProjectFileM.m_dtExportDate = dtExportDate + NewProjectFileM.m_sName = sListName + NewProjectFileM.m_sBTLFileName = sBTLFileName + ElseIf NewProjectFileM.nProjectType = ProjectType.PROD Then + NewProjectFileM.m_nProdId = nProdId + NewProjectFileM.m_dtCreateDate = dtCreateProjDate + NewProjectFileM.m_sName = sListName + End If + Return NewProjectFileM + End Function + + 'Sub New(nProjectType As ProjectType, nProjId As Integer, nProdId As Integer, sBTLFileName As String) + ' m_nProjectType = nProjectType + ' If m_nProjectType = ProjectType.PROJ Then + ' m_nProjId = nProjId + ' m_nProdId = nProdId + ' m_BTLFileName = sBTLFileName + ' ElseIf m_nProjectType = ProjectType.PROD Then + ' m_nProdId = nProdId + ' End If + 'End Sub + +#End Region ' CONSTRUCTORS + +End Class \ No newline at end of file diff --git a/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs b/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs index 24a33643..30b68810 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs @@ -272,14 +272,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public List GetLastDesc(int numRecord) + public List GetLastDesc(int numRecord) { - List result = new List(); + List result = new List(); var dbResult = GetLastDbModelDesc(numRecord); // conversione - result = dbResult.Select(x => new Core.ProjectFile(Core.ConstBeam.ProjectType.PROD, 0, x.ProdId, "")).ToList(); + result = dbResult.Select(x => new Core.ProjectFileM(Core.ConstBeam.ProjectType.PROD, 0, x.ProdId, "")).ToList(); return result; } diff --git a/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs b/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs index ef55e5b9..caf2ee37 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs @@ -245,14 +245,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public List GetLastDesc(int numRecord) + public List GetLastDesc(int numRecord) { - List result = new List(); + List result = new List(); var dbResult = GetLastDbModelDesc(numRecord); // conversione - result = dbResult.Select(x => new Core.ProjectFile(Core.ConstBeam.ProjectType.PROJ, x.ProjId, ProdIdByProdDbId(x.ProdDbId), x.BTLFileName)).ToList(); + result = dbResult.Select(x => new Core.ProjectFileM(Core.ConstBeam.ProjectType.PROJ, x.ProjId, ProdIdByProdDbId(x.ProdDbId), x.BTLFileName)).ToList(); return result; } diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb b/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb index 90786d04..03b52970 100644 --- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb +++ b/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb @@ -105,12 +105,6 @@ 'Public Const S_GENERAL As String = "General" 'Public Const K_DEBUG As String = "Debug" - ' Tipo di progetto - Public Enum ProjectType As Integer - PROJ = 1 - PROD = 2 - End Enum - Friend Const PROJ As String = "PROJ" Friend Const FILENAMESEPARATOR As Char = "^"c Friend Const BTLINFO As String = "BtlInfo" diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj index c35127ff..4b1c7e89 100644 --- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj +++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj @@ -203,7 +203,7 @@ ProdManagerV.xaml - + ProjectV.xaml diff --git a/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb b/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb index a90848e3..46313630 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb @@ -140,7 +140,7 @@ Public Class MainMenuVM Map.refProjectVM.SetProjManager_Visibility(False) Map.refProjectVM.SetProdManager_Visibility(True) ' verifico se progetto modificato, e chiedo se salvare - If bVerifyModification Then ProjectFile.VerifyProjectModification(Map.refProjManagerVM.CurrProj, ProjectType.PROJ) + If bVerifyModification Then ProjectFileVM.VerifyProjectModification(Map.refProjManagerVM.CurrProj, ProjectType.PROJ) Return True End Function @@ -183,7 +183,7 @@ Public Class MainMenuVM Map.refProjectVM.SetProjManager_Visibility(True) Map.refProjectVM.SetProdManager_Visibility(False) ' verifico se progetto modificato, e chiedo se salvare - If bVerifyModification Then ProjectFile.VerifyProjectModification(Map.refProdManagerVM.CurrProd, ProjectType.PROD) + If bVerifyModification Then ProjectFileVM.VerifyProjectModification(Map.refProdManagerVM.CurrProd, ProjectType.PROD) EgtResetCurrMachGroup() Return True End Function diff --git a/EgtBEAMWALL.ViewerOptimizer/MainWindow/MainWindowVM.vb b/EgtBEAMWALL.ViewerOptimizer/MainWindow/MainWindowVM.vb index 5e3dda61..4c85cd08 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MainWindow/MainWindowVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MainWindow/MainWindowVM.vb @@ -59,6 +59,25 @@ Public Class MainWindowVM m_Title = sTitle NotifyPropertyChanged("Title") End Sub + Public Sub UpdateTitle() + Select Case Map.refMainMenuVM.SelPage + Case Pages.VIEW + If Map.refProjManagerVM.CurrProj.NewProj Then + m_Title = "New" + Else + m_Title = Map.refProjManagerVM.CurrProj.nProjId.ToString("0000") & " - " & Map.refProjManagerVM.CurrProj.BTLFileName + End If + Case Pages.MACHINING + If Map.refProdManagerVM.CurrProd.NewProd Then + m_Title = "New" + Else + m_Title = Map.refProdManagerVM.CurrProd.nProdId.ToString("0000") + End If + Case Pages.CONFIG + m_Title = "Configuration Page" + End Select + m_Title &= " - EgtBEAMWALL" + End Sub Friend Sub ContentRendered() ' Verifico che l'inizializzazione di tutte le parti del programma sia andata a buon fine diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb index 18f6be20..dd4d231c 100644 --- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb +++ b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb @@ -26,7 +26,7 @@ Public Class OpenProjectFileDialogV ' mostro la finestra di dialogo Return Me.ShowDialog() End Function - Public Function EgtShowDialog(ProjectType As ProjectType, ProjectList As List(Of ProjectFile)) As Boolean? + Public Function EgtShowDialog(ProjectType As ProjectType, ProjectList As List(Of ProjectFileVM)) As Boolean? m_OpenProjFileDialogVM.Init(ProjectType, ProjectList) ' mostro la finestra di dialogo Return Me.ShowDialog() diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index 4bf1b6c2..b3cbe91e 100644 --- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -47,8 +47,8 @@ Public Class OpenProjectFileDialogVM End Get End Property - Private m_ProjectList As New List(Of ProjectFile) - Public ReadOnly Property ProjectList As List(Of ProjectFile) + Private m_ProjectList As New List(Of ProjectFileVM) + Public ReadOnly Property ProjectList As List(Of ProjectFileVM) Get Return m_ProjectList End Get @@ -58,12 +58,12 @@ Public Class OpenProjectFileDialogVM 'End Set End Property - Private m_SelProject As ProjectFile - Public Property SelProject As ProjectFile + Private m_SelProject As ProjectFileVM + Public Property SelProject As ProjectFileVM Get Return m_SelProject End Get - Set(value As ProjectFile) + Set(value As ProjectFileVM) m_SelProject = value End Set End Property @@ -96,31 +96,19 @@ Public Class OpenProjectFileDialogVM ' Definizione comandi Private m_cmdProjectDoubleClick As ICommand - Public Function Init(ProjectType As ProjectType, Optional ProjectList As List(Of ProjectFile) = Nothing) As Boolean? + Public Function Init(ProjectType As ProjectType, Optional ProjectList As List(Of ProjectFileVM) = Nothing) As Boolean? m_ProjectType = ProjectType If IsNothing(ProjectList) OrElse ProjectList.Count = 0 Then ' leggo da db - Dim DbProjectList As New List(Of Core.ProjectFile) + Dim DbProjectList As New List(Of Core.ProjectFileM) If ProjectType = ProjectType.PROJ Then DbProjectList = DbControllers.m_ProjController.GetLastDesc(50) ElseIf ProjectType = ProjectType.PROD Then DbProjectList = DbControllers.m_ProdController.GetLastDesc(50) End If For Each Project In DbProjectList - m_ProjectList.Add(New ProjectFile(Project.nProjectType, Project.nProjId, Project.nProdId, Project.BTLFileName)) + m_ProjectList.Add(New ProjectFileVM(Project)) Next - '' cartella da cui leggere i programmi - 'Dim sFolderPath As String - 'If m_ProjectType = ProjectType.PROJ Then - ' sFolderPath = Map.refMainWindowVM.MainWindowM.sProjsDir - 'Else - ' sFolderPath = Map.refMainWindowVM.MainWindowM.sProdsDir - 'End If - '' leggo i file che contiene - 'Dim AllDirsInDir As IEnumerable(Of String) = IO.Directory.EnumerateDirectories(sFolderPath) - 'For Each CurrDirectory In AllDirsInDir - ' VerifyFiles(CurrDirectory) - 'Next Else m_ProjectList = ProjectList End If @@ -133,8 +121,8 @@ Public Class OpenProjectFileDialogVM Dim nProjId As Integer = 0 Dim nProdId As Integer = 0 Dim sBTLFileName As String = "" - If ProjectFile.VerifyProjectFile(m_ProjectType, Path.GetFileNameWithoutExtension(File), nProjId, nProdId, sBTLFileName) Then - m_ProjectList.Add(New ProjectFile(m_ProjectType, nProjId, nProdId, sBTLFileName)) + If ProjectFileVM.VerifyProjectFile(m_ProjectType, Path.GetFileNameWithoutExtension(File), nProjId, nProdId, sBTLFileName) Then + m_ProjectList.Add(New ProjectFileVM(m_ProjectType, nProjId, nProdId, sBTLFileName)) End If End If Next diff --git a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb index 6d704aa5..ab8cfca0 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb @@ -8,12 +8,12 @@ Public Class ProdManagerVM #Region "FIELDS & PROPERTIES" - Private m_CurrProd As ProjectFile - Friend Property CurrProd As ProjectFile + Private m_CurrProd As ProjectFileVM + Friend Property CurrProd As ProjectFileVM Get Return m_CurrProd End Get - Set(value As ProjectFile) + Set(value As ProjectFileVM) m_CurrProd = value End Set End Property @@ -85,9 +85,9 @@ Public Class ProdManagerVM Friend Sub OpenProject(sFilePath As String) ' verifico se progetto modificato, e chiedo se salvare - ProjectFile.VerifyProjectModification(CurrProd, ProjectType.PROD) + ProjectFileVM.VerifyProjectModification(CurrProd, ProjectType.PROD) ' se la string è vuota - Dim TempCurrProd As ProjectFile + Dim TempCurrProd As ProjectFileVM Dim OpenProjectFileDialogVM As OpenProjectFileDialogVM = Nothing If String.IsNullOrEmpty(sFilePath) Then ' apro dialogo di scelta file @@ -101,8 +101,8 @@ Public Class ProdManagerVM Dim nProjId As Integer = 0 Dim nProdId As Integer = 0 Dim sBTLFileName As String = "" - If ProjectFile.VerifyProjectFile(ProjectType.PROD, Path.GetFileNameWithoutExtension(sFilePath), nProjId, nProdId, sBTLFileName) Then - TempCurrProd = New ProjectFile(ProjectType.PROD, nProjId, nProdId, sBTLFileName) + If ProjectFileVM.VerifyProjectFile(ProjectType.PROD, Path.GetFileNameWithoutExtension(sFilePath), nProjId, nProdId, sBTLFileName) Then + TempCurrProd = New ProjectFileVM(ProjectType.PROD, nProjId, nProdId, sBTLFileName) Else MessageBox.Show("Error in file name!!") Return @@ -196,7 +196,7 @@ Public Class ProdManagerVM ''' Friend Sub GoToProj() ' verifico se salvare progetto corrente - ProjectFile.VerifyProjectModification(Map.refProdManagerVM.CurrProd, ProjectType.PROD) + ProjectFileVM.VerifyProjectModification(Map.refProdManagerVM.CurrProd, ProjectType.PROD) ' recupero Proj associato da Db Dim DbProjList As List(Of DataLayer.DatabaseModels.ProjModel) = DbControllers.m_ProjController.GetByProdAsc(m_CurrProd.nProdId) Dim nProjId As Integer = 0 @@ -241,7 +241,7 @@ Public Class ProdManagerVM ' Proj = ProjList(0) 'End If ' apro progetto proj - Map.refProjManagerVM.CurrProj = New ProjectFile(ProjectType.PROJ, nProjId, m_CurrProd.nProdId, sBTLFileName) + Map.refProjManagerVM.CurrProj = New ProjectFileVM(ProjectType.PROJ, nProjId, m_CurrProd.nProdId, sBTLFileName) ' vado in pagina proj Map.refMainMenuVM.SetSelPage(Pages.VIEW, False) End Sub diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerV.xaml index 4929b0e6..9f0cfcdd 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerV.xaml +++ b/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerV.xaml @@ -7,11 +7,11 @@ Style="{StaticResource ToolBar_EgtFloatingPanel}"> - +