From 59253eb4de63ee86c4eae23a372ecfb885967ae2 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Tue, 14 Sep 2021 17:46:56 +0200 Subject: [PATCH] - Correzzione warning - Cambiata gestione tipo progetto e macchina associata --- EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb | 18 +- EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb | 4 +- .../OpenProjectFileDialogVM.vb | 2 +- EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb | 19 +- EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb | 28 +-- .../ProjectFileVM/ProjectFileM.vb | 39 ++-- .../ProjectManager/ProjectFileVM.vb | 6 + .../Controllers/ProdController.cs | 6 +- .../Controllers/ProjController.cs | 10 +- .../BTLViewModel/BTLFeatureVM.vb | 2 +- .../BTLViewModel/BTLPartVM.vb | 2 +- .../BTLViewModel/BTLStructureVM.vb | 26 ++- .../MachinePanel/MachinePanelVM.vb | 22 --- .../OpenProjectFileDialogVM.vb | 2 +- .../ProdManager/ProdManagerVM.vb | 6 + .../ProjManager/ProjManagerVM.vb | 111 +++-------- .../ProjectFileVM/ProdFileVM.vb | 182 ++++++++--------- .../ProjectFileVM/ProjFileVM.vb | 186 +++++++++--------- .../SceneHost/MySceneHostVM.vb | 2 - .../Utility/MachParamIniFile.vb | 1 - 20 files changed, 303 insertions(+), 371 deletions(-) diff --git a/EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb b/EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb index e93bd8d8..ff394df9 100644 --- a/EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb +++ b/EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb @@ -283,7 +283,7 @@ Public Class BTLFeatureM NewBTLFeature.m_sCALC_MSG = sMsg If nErr = 0 Then NewBTLFeature.nState = CalcStates.OK - ElseIf nErr = 17 Then + ElseIf nErr = 17 Or nErr = 19 Then NewBTLFeature.nState = CalcStates.WARNING ElseIf nErr > 0 Then NewBTLFeature.nState = CalcStates.ERROR_ @@ -312,22 +312,6 @@ Public Class BTLFeatureM Return NewBTLFeature End Function - 'Sub New(ParentPart As BTLPartM, nFeatureId As Integer) - ' m_ParentPart = ParentPart - ' m_nFeatureId = nFeatureId - ' m_PParamList = New ObservableCollection(Of BTLParam) - ' m_QParamList = New ObservableCollection(Of BTLParam) - 'End Sub - - 'Sub New(nPRC As Integer, nGRP As Integer, nSIDE As Integer) - ' m_PParamList = New ObservableCollection(Of BTLParam) - ' m_QParamList = New ObservableCollection(Of BTLParam) - ' m_nPRC = nPRC - ' m_nSelGRP = nGRP - ' m_nSelSIDE = nSIDE - ' m_bDO = True - 'End Sub - #End Region ' CONSTRUCTOR #Region "METHODS" diff --git a/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb b/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb index 95534235..05bd4dd0 100644 --- a/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb +++ b/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb @@ -168,9 +168,9 @@ Public Class BTLFeatureVM Select Case m_BTLFeatureM.nCALC_ERR Case 22 Return "c" - Case 19, 23, 24, 25 + Case 23, 24, 25 Return "e" - Case 17 + Case 17, 19 Return "w" Case < 0 Return "i" diff --git a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index 7f5338d1..2eb8b112 100644 --- a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -349,7 +349,7 @@ Public MustInherit Class OpenProjectFileDialogVM ''' ''' Execute the New. This method is invoked by the NewCommand. ''' - Friend Overridable Sub Delete() + Public Overridable Sub Delete() End Sub #End Region ' Delete diff --git a/EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb index 38e8ccc4..f5079e60 100644 --- a/EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb +++ b/EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb @@ -27,15 +27,16 @@ Public Class ProdFileM Return New ProdFileM End Function - Public Shared Function CreateProdFileM(nProdId As Integer, nProjIdList As List(Of Integer), dtCreateProjDate As DateTime, sName As String, nType As BWType) As ProdFileM - Dim NewProjectFileM As New ProdFileM - NewProjectFileM.m_nProdId = nProdId - NewProjectFileM.m_nProjIdList = nProjIdList - NewProjectFileM.m_dtCreateDate = dtCreateProjDate - NewProjectFileM.m_sName = sName - NewProjectFileM.m_nType = nType - Return NewProjectFileM - End Function + Public Shared Function CreateProdFileM(nProdId As Integer, nProjIdList As List(Of Integer), dtCreateProjDate As DateTime, sName As String, nType As BWType, sMachine As String) As ProdFileM + Dim NewProjectFileM As New ProdFileM + NewProjectFileM.m_nProdId = nProdId + NewProjectFileM.m_nProjIdList = nProjIdList + NewProjectFileM.m_dtCreateDate = dtCreateProjDate + NewProjectFileM.m_sName = sName + NewProjectFileM.m_nType = nType + NewProjectFileM.m_sMachine = sMachine + Return NewProjectFileM + End Function #End Region ' CONSTRUCTORS diff --git a/EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb index dd7731dc..8a267167 100644 --- a/EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb +++ b/EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb @@ -37,19 +37,21 @@ Public Class ProjFileM Return New ProjFileM End Function - Public Shared Function CreateProjFileM(nProjId As Integer, nProdId As Integer, dtCreateProjDate As DateTime, dtExportDate As DateTime, sListName As String, sBTLFileName As String, IsNew As Boolean, IsLocked As Boolean, nType As BWType) As ProjFileM - Dim NewProjectFileM As New ProjFileM - NewProjectFileM.m_nProjId = nProjId - NewProjectFileM.m_nProdId = nProdId - NewProjectFileM.m_dtCreateDate = dtCreateProjDate - NewProjectFileM.m_dtExportDate = dtExportDate - NewProjectFileM.m_sListName = sListName - NewProjectFileM.m_sBTLFileName = sBTLFileName - NewProjectFileM.m_bIsNew = IsNew - NewProjectFileM.m_bIsLocked = IsLocked - NewProjectFileM.m_nType = nType - Return NewProjectFileM - End Function + Public Shared Function CreateProjFileM(nProjId As Integer, nProdId As Integer, dtCreateProjDate As DateTime, dtExportDate As DateTime, sListName As String, + sBTLFileName As String, IsNew As Boolean, IsLocked As Boolean, nType As BWType, sMachine As String) As ProjFileM + Dim NewProjectFileM As New ProjFileM + NewProjectFileM.m_nProjId = nProjId + NewProjectFileM.m_nProdId = nProdId + NewProjectFileM.m_dtCreateDate = dtCreateProjDate + NewProjectFileM.m_dtExportDate = dtExportDate + NewProjectFileM.m_sListName = sListName + NewProjectFileM.m_sBTLFileName = sBTLFileName + NewProjectFileM.m_bIsNew = IsNew + NewProjectFileM.m_bIsLocked = IsLocked + NewProjectFileM.m_nType = nType + NewProjectFileM.m_sMachine = sMachine + Return NewProjectFileM + End Function #End Region ' CONSTRUCTORS diff --git a/EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb index 9039db4a..53acaa6d 100644 --- a/EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb +++ b/EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb @@ -54,29 +54,28 @@ Public Class ProjectFileM End Set End Property - Protected m_nType As BWType - Public Property nType As BWType - Get - Return m_nType - End Get - Set(value As BWType) - m_nType = value - End Set - End Property + Protected m_nType As BWType + Public Property nType As BWType + Get + Return m_nType + End Get + Set(value As BWType) + m_nType = value + End Set + End Property + + Protected m_sMachine As String + Public Property sMachine As String + Get + Return m_sMachine + End Get + Set(value As String) + m_sMachine = value + End Set + End Property #Region "CONSTRUCTORS" - '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.Core/ProjectManager/ProjectFileVM.vb b/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb index 00ef2931..1ea9ae1b 100644 --- a/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb +++ b/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb @@ -111,6 +111,12 @@ Public Class ProjectFileVM End Get End Property + Public ReadOnly Property sMachine As String + Get + Return m_ProjectFileM.sMachine + End Get + End Property + #Region "Messages" Public ReadOnly Property Id_Msg As String diff --git a/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs b/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs index bad5bf72..578420b3 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/ProdController.cs @@ -40,7 +40,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// protected Core.ProdFileM coreConv(ProdModel currProd) { - Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType); + Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine); return answ; } @@ -212,7 +212,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers { var currProd = FindByProdId(ProdId); - return Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(ProdId), currProd.DtCreated, currProd.Description, currProd.PType); + return Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine); } /// @@ -225,7 +225,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers List result = new List(); var dbResult = GetLastDbModelDesc(numRecord); // conversione - result = dbResult.Select(x => Core.ProdFileM.CreateProdFileM(x.ProdId, ProjIdByProd(x.ProdId), x.DtCreated, x.Description, x.PType)).ToList(); + result = dbResult.Select(x => Core.ProdFileM.CreateProdFileM(x.ProdId, ProjIdByProd(x.ProdId), x.DtCreated, x.Description, x.PType, x.Machine)).ToList(); return result; } diff --git a/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs b/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs index 1630c6b3..b44d9a25 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/ProjController.cs @@ -34,7 +34,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// protected Core.ProjFileM coreConv(ProjModel currProj) { - Core.ProjFileM answ = Core.ProjFileM.CreateProjFileM(currProj.ProjId, ProdIdByProdDbId(currProj.ProdDbId), currProj.DtCreated, currProj.DtExported, currProj.ListName, currProj.BTLFileName, currProj.IsNew, currProj.Locked, currProj.PType); + Core.ProjFileM answ = Core.ProjFileM.CreateProjFileM(currProj.ProjId, ProdIdByProdDbId(currProj.ProdDbId), currProj.DtCreated, currProj.DtExported, currProj.ListName, currProj.BTLFileName, currProj.IsNew, currProj.Locked, currProj.PType, currProj.Machine); return answ; } @@ -409,10 +409,11 @@ namespace EgtBEAMWALL.DataLayer.Controllers bool done = false; var item2update = dbCtx .ProjList - .Where(x => x.ProjDbId == updItem.ProjDbId) + .Where(x => x.ProjId == updItem.ProjId) .SingleOrDefault(); try { + updItem.ProjDbId = item2update.ProjDbId; // update, vers 1... dbCtx.Entry(item2update).CurrentValues.SetValues(updItem); @@ -425,7 +426,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers ResetController(); done = true; } - catch + catch (Exception ex) { } return done; } @@ -519,7 +520,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public Core.ProjFileM UpdateInfo(int ProjId, string BTLFileName, string ListName, DateTime DtExported, BWType PType) + public Core.ProjFileM UpdateInfo(int ProjId, string BTLFileName, string ListName, DateTime DtExported, BWType PType, string Machine) { var currData = FindByProjId(ProjId); // aggiorno valore BTL @@ -527,6 +528,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers currData.DtExported = DtExported; currData.ListName = ListName; currData.PType = PType; + currData.Machine = Machine; // Commit changes dbCtx.SaveChanges(); diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb index 7cf5f78d..debece1f 100644 --- a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb @@ -237,7 +237,7 @@ Public Class BTLFeatureVM m_BTLFeatureM.sCALC_MSG = MSG If ERR = 0 Then m_BTLFeatureM.nState = CalcStates.OK - ElseIf ERR = 17 Then + ElseIf ERR = 17 Or ERR = 19 Then m_BTLFeatureM.nState = CalcStates.WARNING ElseIf ERR > 0 Then m_BTLFeatureM.nState = CalcStates.ERROR_ diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb index 26496a34..686eceb2 100644 --- a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb @@ -1204,7 +1204,7 @@ Public Class BTLPartVM ElseIf m_BTLPartM.nGlobalState = CalcStates.INFO Then Return Brushes.Green ElseIf m_BTLPartM.nGlobalState = CalcStates.WARNING Then - Return Brushes.Gold + Return Brushes.Orange ElseIf m_BTLPartM.nGlobalState = CalcStates.ERROR_ Then Return Brushes.Red Else diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb index c9620981..cb34bc5c 100644 --- a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb @@ -232,17 +232,25 @@ Public Class BTLStructureVM End Set End Property - Public Property nPROJTYPE As BWType + Public ReadOnly Property nPROJTYPE As BWType Get - Return m_BTLStructureM.m_nPROJTYPE + Select Case Map.refMainMenuVM.SelPage + Case Pages.VIEW + Return Map.refProjManagerVM.nProjType + Case Pages.MACHINING + Return Map.refProdManagerVM.nProdType + Case Else + Return BWType.NULL + End Select + 'Return m_BTLStructureM.m_nPROJTYPE End Get - Set(value As BWType) - If EgtSetInfo(m_BTLStructureM.nBTLInfoId, BTL_GEN_PROJTYPE, value) Then - m_BTLStructureM.m_nPROJTYPE = value - Else - NotifyPropertyChanged(NameOf(nPROJTYPE)) - End If - End Set + 'Set(value As BWType) + ' If EgtSetInfo(m_BTLStructureM.nBTLInfoId, BTL_GEN_PROJTYPE, value) Then + ' m_BTLStructureM.m_nPROJTYPE = value + ' Else + ' NotifyPropertyChanged(NameOf(nPROJTYPE)) + ' End If + 'End Set End Property Public Property sLISTNAME As String diff --git a/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelVM.vb index fc05a89d..254ef395 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelVM.vb @@ -45,28 +45,6 @@ Public Class MachinePanelVM End If NotifyPropertyChanged(NameOf(BeamTable_Visibility)) NotifyPropertyChanged(NameOf(WallTable_Visibility)) - ' se il tipo della macchina selezionata non è congruo al tipo progetto del Proj o del Prod correnti - ' resetto quello non congruo di questi due, assieme a BTLStructure e MachGroupPanel - Dim bReset As Boolean = False - If Not IsNothing(Map.refProjectVM) AndAlso - Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso - nMachType <> 3 Then - If Not IsNothing(Map.refProjManagerVM.CurrProj) AndAlso - nMachType <> Map.refProjManagerVM.CurrProj.nType Then - Map.refProjManagerVM.ResetCurrProj() - bReset = True - End If - If Not IsNothing(Map.refProdManagerVM.CurrProd) AndAlso - nMachType <> Map.refProdManagerVM.CurrProd.nType Then - Map.refProdManagerVM.ResetCurrProd() - bReset = True - End If - If bReset AndAlso Not IsNothing(Map.refProjectVM) Then - Map.refProjectVM.BTLStructureVM = Nothing - Map.refProjectVM.MachGroupPanelVM = Nothing - EgtNewFile() - End If - End If ' aggiorno nome macchina in statusbar Map.refMyStatusBarVM.RefreshMachName() End If diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index dbaa73b2..7b6dec00 100644 --- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -40,7 +40,7 @@ Public Class OpenProjectFileDialogVM m_ProjectList_View.Filter = AddressOf ProjectFilter End Function - Friend Sub Delete() + Public Overrides Sub Delete() If IsNothing(SelProject) Then Return ' recupero indice per riselezionare Dim ProjListIndex As Integer = m_ProjectList.IndexOf(SelProject) diff --git a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb index a3647a2b..4beba064 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb @@ -36,6 +36,12 @@ Public Class ProdManagerVM End Get End Property + Public ReadOnly Property nProdType As BWType + Get + Return If(Not IsNothing(CurrProd), CurrProd.nType, BWType.NULL) + End Get + End Property + Friend m_MruFiles As New MruList Public ReadOnly Property MruFileNames As ObservableCollection(Of String) Get diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerVM.vb index aadf2f46..01beece8 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProjManager/ProjManagerVM.vb @@ -48,6 +48,12 @@ Public Class ProjManagerVM End Get End Property + Public ReadOnly Property nProjType As BWType + Get + Return If(Not IsNothing(CurrProj), CurrProj.nType, BWType.NULL) + End Get + End Property + ' indice progetto in caricamento Private m_nLoadingProjId As Integer = 0 Public ReadOnly Property nLoadingProjId As Integer @@ -56,14 +62,6 @@ Public Class ProjManagerVM End Get End Property - ' tipo progetto (Beam o Wall) - Private m_nProjType As BWType = 0 - Public ReadOnly Property nProjType As BWType - Get - Return m_nProjType - End Get - End Property - Friend m_MruFiles As New MruList Public ReadOnly Property MruFileNames As ObservableCollection(Of String) Get @@ -200,12 +198,13 @@ Public Class ProjManagerVM End If End Sub - Private Function InitNewProject(ByRef nProjId As Integer, ByRef sProjectDir As String) As Boolean + Private Function InitNewProject(ByRef nProjId As Integer, ByRef sProjectDir As String, nType As BWType) As Boolean ' richiedo indice nuovo progetto nProjId = DbControllers.m_ProjController.GetNextIndex() ' salvo data creazione progetto - DbControllers.m_ProjController.Update(New ProjModel() With {.ProjId = nProjId, - .DtCreated = DateTime.Now()}) + Dim x = DbControllers.m_ProjController.Update(New ProjModel() With {.ProjId = nProjId, + .DtCreated = DateTime.Now(), + .PType = nType}) If nProjId <= 0 Then Return False sProjectDir = refMainWindowVM.MainWindowM.sProjsDir & "\" & nProjId.ToString("0000") ' creo cartella nuovo progetto @@ -280,26 +279,27 @@ Public Class ProjManagerVM ' verifico se progetto modificato, e chiedo se salvare If Not ProjFileVM.VerifyProjectModification(CurrProj, ProjectType.PROJ) Then Return ' setto il tipo progetto in base al tipo macchina + Dim nType As BWType = BWType.NULL If CurrentMachine.nType = Core.ConstBeam.MachineType.BOTH Then ' se tipo macchina è BOTH apro dialog per settare tipo progetto a Beam o a Wall Dim ProjectTypeWndVM As New ProjectTypeWndVM() Dim ProjectTypeWnd As New ProjectTypeWndV(Application.Current.MainWindow, ProjectTypeWndVM) If ProjectTypeWnd.ShowDialog() Then - m_nProjType = ProjectTypeWndVM.nSelType + nType = ProjectTypeWndVM.nSelType Else Return End If ElseIf CurrentMachine.nType = Core.ConstBeam.MachineType.BEAM Then - m_nProjType = BWType.BEAM + nType = BWType.BEAM ElseIf CurrentMachine.nType = Core.ConstBeam.MachineType.WALL Then - m_nProjType = BWType.WALL + nType = BWType.WALL End If ' creo nuovo progetto If Map.refSceneHostVM.MainController.NewProject() Then ' inizializzo nuovo progetto Dim nProjId As Integer = 0 Dim sProjDir As String = "" - InitNewProject(nProjId, sProjDir) + InitNewProject(nProjId, sProjDir, nType) SetCurrProj(nProjId) Dim sProjFileName As String = sProjDir & "\" & nProjId.ToString("0000") & ".nge" ' imposto ProjId di caricamento @@ -309,14 +309,12 @@ Public Class ProjManagerVM EgtSetName(nBTLInfoLayer, BTLINFO) EgtSetLevel(nBTLInfoLayer, GDB_LV.SYSTEM) Map.refProjectVM.BTLStructureVM.BTLStructureM.UpdateBTLInfoLayer() - ' setto il tipo di progetto nella BTLStructure creata - Map.refProjectVM.BTLStructureVM.nPROJTYPE = m_nProjType ' scrivo info proj su layer BtlInfo EgtSetInfo(nBTLInfoLayer, BTL_PRT_PROJ, nProjId) ' salvo il progetto If EgtSaveFile(sProjFileName, NGE.CMPTEXT) Then - SectionXMaterial.SetType(m_nProjType) - DbControllers.m_ProjController.UpdateInfo(nProjId, "Hand made", "", Date.MinValue, m_nProjType) + SectionXMaterial.SetType(nType) + DbControllers.m_ProjController.UpdateInfo(nProjId, "Hand made", "", Date.MinValue, nType, Map.refMachinePanelVM.SelectedMachine.Name) SetCurrProj(nProjId) End If Else @@ -371,57 +369,10 @@ Public Class ProjManagerVM Else sFilePath = TempCurrProj.sProjPath End If - ' apro un nuovo contesto per leggere il tipo progetto senza caricare nel programma il progetto intero - Dim nCurrCtx As Integer = EgtGetCurrentContext() - Dim nTempCtx As Integer = EgtInitContext() - Dim nBTLProjType As Integer - If nTempCtx <> 0 Then - EgtOpenFile(sFilePath) - Dim ProjectType As ProjectType = If(Map.refMainMenuVM.SelPage = Pages.VIEW, ProjectType.PROJ, ProjectType.PROD) - Dim ProjId As Integer = If(ProjectType = ProjectType.PROJ, Map.refProjManagerVM.nLoadingProjId, 0) - Dim nBTLInfoId As Integer - Dim sValue As String = String.Empty - ' se devo filtrare un progetto - If ProjId > 0 Then - ' cerco tra i layer BTLInfo - Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO) - While nBTLInfoLayerId <> GDB_ID.NULL - ' verifico se il layer appartiene al ProjId - Dim nBTLInfoLayerProjId As Integer - EgtGetInfo(nBTLInfoLayerId, BTL_PRT_PROJ, nBTLInfoLayerProjId) - If nBTLInfoLayerProjId = ProjId Then - nBTLInfoId = nBTLInfoLayerId - Exit While - End If - nBTLInfoLayerId = EgtGetNextName(nBTLInfoLayerId, BTLINFO) - End While - Else - nBTLInfoId = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO) - End If - EgtGetInfo(nBTLInfoId, BTL_GEN_PROJTYPE, nBTLProjType) - ' verifico che il tipo di progetto sia congruo al tipo di macchina corrente - Dim bOkType As Boolean = True - Select Case CurrentMachine.nType - Case Core.ConstBeam.MachineType.NULL - bOkType = False - Case Core.ConstBeam.MachineType.BEAM - If nBTLProjType <> BWType.BEAM Then bOkType = False - Case Core.ConstBeam.MachineType.WALL - If nBTLProjType <> BWType.WALL Then bOkType = False - Case Core.ConstBeam.MachineType.BOTH - ' non fare niente - End Select - ' torno sul contesto corrente - EgtSetCurrentContext(nCurrCtx) - EgtDeleteContext(nTempCtx) - ' se il tipo non è congruo mostro msg d'errore ed esco dall'apertura progetto - If Not bOkType Then - MessageBox.Show(EgtMsg(61881), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) 'Error - Return - End If - End If - SectionXMaterial.SetType(nBTLProjType) + SectionXMaterial.SetType(TempCurrProj.nType) If Map.refSceneHostVM.MainController.OpenProject(sFilePath, False) Then + ' imposto macchina del progetto + Map.refMachinePanelVM.SelectedMachine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = TempCurrProj.sMachine) ' aggiorno le colonne in base al tipo progetto Map.refRawPartListVM.UpdateColumns(Map.refProjectVM.BTLStructureVM.nPROJTYPE) Map.refPartInRawPartListVM.UpdateColumns(Map.refProjectVM.BTLStructureVM.nPROJTYPE) @@ -545,24 +496,26 @@ Public Class ProjManagerVM End If End If ' setto il tipo progetto in base al tipo macchina + Dim nType As BWType = BWType.NULL If CurrentMachine.nType = Core.ConstBeam.MachineType.BOTH Then ' se tipo macchina è BOTH apro dialog per settare tipo progetto a Beam o a Wall Dim ProjectTypeWndVM As New ProjectTypeWndVM() Dim ProjectTypeWnd As New ProjectTypeWndV(Application.Current.MainWindow, ProjectTypeWndVM) If ProjectTypeWnd.ShowDialog() Then - m_nProjType = ProjectTypeWndVM.nSelType + nType = ProjectTypeWndVM.nSelType Else Return End If ElseIf CurrentMachine.nType = Core.ConstBeam.MachineType.BEAM Then - m_nProjType = BWType.BEAM + nType = BWType.BEAM ElseIf CurrentMachine.nType = Core.ConstBeam.MachineType.WALL Then - m_nProjType = BWType.WALL + nType = BWType.WALL End If ' inizializzo nuovo progetto Dim nProjId As Integer = 0 Dim sProjDir As String = "" - InitNewProject(nProjId, sProjDir) + InitNewProject(nProjId, sProjDir, nType) + SetCurrProj(nProjId) ' imposto ProjId di caricamento m_nLoadingProjId = nProjId ' copio file BTL @@ -587,15 +540,15 @@ Public Class ProjManagerVM EgtOutLog("Errore nell'importazione BTL") End If If bOk Then - SectionXMaterial.SetType(m_nProjType) + SectionXMaterial.SetType(nType) ' aggiorno Db Dim sBTLFileName As String = Path.GetFileNameWithoutExtension(sFile) 'UpdateBTLFileName(nProjId, sBTLFileName) Dim ExportDate As DateTime DateTime.TryParse(Map.refProjectVM.BTLStructureVM.BTLStructureM.m_sEXPDATE & " " & Map.refProjectVM.BTLStructureVM.BTLStructureM.m_sEXPTIME, ExportDate) - DbControllers.m_ProjController.UpdateInfo(nProjId, sBTLFileName, Map.refProjectVM.BTLStructureVM.sLISTNAME, ExportDate, m_nProjType) - SetCurrProj(nProjId) + DbControllers.m_ProjController.UpdateInfo(nProjId, sBTLFileName, Map.refProjectVM.BTLStructureVM.sLISTNAME, ExportDate, nType, Map.refMachinePanelVM.SelectedMachine.Name) + SetCurrProj(nProjId) Map.refMainWindowVM.UpdateTitle() ' mostro tutti i pezzi Map.refShowBeamPanelVM.ShowAll() @@ -766,7 +719,7 @@ Public Class ProjManagerVM ' inizializzo nuovo proj Dim nNewProjId As Integer = 0 Dim sNewProjDir As String = "" - InitNewProject(nNewProjId, sNewProjDir) + InitNewProject(nNewProjId, sNewProjDir, nType) NewProjIdList.Add(nNewProjId) ' imposto ProjId di caricamento m_nLoadingProjId = nImportProjId @@ -804,8 +757,8 @@ Public Class ProjManagerVM Dim ExportDate As DateTime DateTime.TryParse(Map.refProjectVM.BTLStructureVM.BTLStructureM.m_sEXPDATE & " " & Map.refProjectVM.BTLStructureVM.BTLStructureM.m_sEXPTIME, ExportDate) - DbControllers.m_ProjController.UpdateInfo(nNewProjId, sBTLFileName, Map.refProjectVM.BTLStructureVM.sLISTNAME, ExportDate, BWType.NULL) - Else + DbControllers.m_ProjController.UpdateInfo(nNewProjId, sBTLFileName, Map.refProjectVM.BTLStructureVM.sLISTNAME, ExportDate, BWType.NULL, Map.refMachinePanelVM.SelectedMachine.Name) + Else ' elimino da Db DbControllers.m_ProjController.DeleteProj(nNewProjId) End If diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb index 291df180..e84e1300 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb @@ -26,98 +26,98 @@ Public Class ProdFileVM Return refMainWindowVM.MainWindowM.sProjsDir & "\" & nProjId.ToString("0000") & "\" & nProjId.ToString("0000") & ".nge" End Function - ' funzione che restituisce le parti di nome file - Friend Shared Function VerifyProjectFile(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean - If nProjectType = ProjectType.PROJ Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sBTLFileName = DataFromFileName(2) - End If - Return True - Else Return False - End If - ElseIf nProjectType = ProjectType.PROD Then - Return Integer.TryParse(ProjectFileName, nProdId) - Else Return False - End If - End Function + '' funzione che restituisce le parti di nome file + 'Friend Shared Function VerifyProjectFile(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean + ' If nProjectType = ProjectType.PROJ Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sBTLFileName = DataFromFileName(2) + ' End If + ' Return True + ' Else Return False + ' End If + ' ElseIf nProjectType = ProjectType.PROD Then + ' Return Integer.TryParse(ProjectFileName, nProdId) + ' Else Return False + ' End If + 'End Function - ' funzione che dato un nome file e il tipo restituisce il corretto numero di progetto - Friend Shared Function GetProjectNumber(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean - If String.IsNullOrWhiteSpace(ProjectFileName) Then - nProjId = 0 - nProdId = 0 - sBTLFileName = "" - Return False - ElseIf ProjectFileName.Contains(FILENAMESEPARATOR) Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sBTLFileName = DataFromFileName(2) - End If - Return True - Else Return False - End If - ElseIf nProjectType = ProjectType.PROJ Then - Dim ProjectFileNameProd As String = Integer.TryParse(ProjectFileName, nProdId) - Dim nTempProjId As Integer = 0 - Dim nTempProdId As Integer = 0 - Dim sTempBTLFileName As String = "" - ' ricavo lista cartelle proj - Dim AllDirsInDir As IEnumerable(Of String) = IO.Directory.EnumerateDirectories(Map.refMainWindowVM.MainWindowM.sProjsDir) - For Each Directory In AllDirsInDir - Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Directory) - For Each File In AllFilesInDir - If Path.GetExtension(File).ToLower() = ".nge" Then - If File.Contains(FILENAMESEPARATOR) Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nTempProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nTempProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sTempBTLFileName = DataFromFileName(2) - End If - If ProjectFileNameProd = nTempProdId Then - nProjId = nTempProjId - nProdId = nTempProdId - sTempBTLFileName = sBTLFileName - Return True - End If - Else Return False - End If - End If - End If - Next - Next - End If - Return False - End Function + '' funzione che dato un nome file e il tipo restituisce il corretto numero di progetto + 'Friend Shared Function GetProjectNumber(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean + ' If String.IsNullOrWhiteSpace(ProjectFileName) Then + ' nProjId = 0 + ' nProdId = 0 + ' sBTLFileName = "" + ' Return False + ' ElseIf ProjectFileName.Contains(FILENAMESEPARATOR) Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sBTLFileName = DataFromFileName(2) + ' End If + ' Return True + ' Else Return False + ' End If + ' ElseIf nProjectType = ProjectType.PROJ Then + ' Dim ProjectFileNameProd As String = Integer.TryParse(ProjectFileName, nProdId) + ' Dim nTempProjId As Integer = 0 + ' Dim nTempProdId As Integer = 0 + ' Dim sTempBTLFileName As String = "" + ' ' ricavo lista cartelle proj + ' Dim AllDirsInDir As IEnumerable(Of String) = IO.Directory.EnumerateDirectories(Map.refMainWindowVM.MainWindowM.sProjsDir) + ' For Each Directory In AllDirsInDir + ' Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Directory) + ' For Each File In AllFilesInDir + ' If Path.GetExtension(File).ToLower() = ".nge" Then + ' If File.Contains(FILENAMESEPARATOR) Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nTempProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nTempProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sTempBTLFileName = DataFromFileName(2) + ' End If + ' If ProjectFileNameProd = nTempProdId Then + ' nProjId = nTempProjId + ' nProdId = nTempProdId + ' sTempBTLFileName = sBTLFileName + ' Return True + ' End If + ' Else Return False + ' End If + ' End If + ' End If + ' Next + ' Next + ' End If + ' Return False + 'End Function Friend Shared Function VerifyProjectModification(CurrProject As ProdFileVM) As Boolean If IsNothing(CurrProject) Then Return True diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb index 6881e91e..c855dbd1 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb @@ -15,98 +15,98 @@ Public Class ProjFileVM #Region "METHODS" - ' funzione che restituisce le parti di nome file - Friend Shared Function VerifyProjectFile(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean - If nProjectType = ProjectType.PROJ Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sBTLFileName = DataFromFileName(2) - End If - Return True - Else Return False - End If - ElseIf nProjectType = ProjectType.PROD Then - Return Integer.TryParse(ProjectFileName, nProdId) - Else Return False - End If - End Function + '' funzione che restituisce le parti di nome file + 'Friend Shared Function VerifyProjectFile(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean + ' If nProjectType = ProjectType.PROJ Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sBTLFileName = DataFromFileName(2) + ' End If + ' Return True + ' Else Return False + ' End If + ' ElseIf nProjectType = ProjectType.PROD Then + ' Return Integer.TryParse(ProjectFileName, nProdId) + ' Else Return False + ' End If + 'End Function - ' funzione che dato un nome file e il tipo restituisce il corretto numero di progetto - Friend Shared Function GetProjectNumber(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean - If String.IsNullOrWhiteSpace(ProjectFileName) Then - nProjId = 0 - nProdId = 0 - sBTLFileName = "" - Return False - ElseIf ProjectFileName.Contains(FILENAMESEPARATOR) Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sBTLFileName = DataFromFileName(2) - End If - Return True - Else Return False - End If - ElseIf nProjectType = ProjectType.PROJ Then - Dim ProjectFileNameProd As String = Integer.TryParse(ProjectFileName, nProdId) - Dim nTempProjId As Integer = 0 - Dim nTempProdId As Integer = 0 - Dim sTempBTLFileName As String = "" - ' ricavo lista cartelle proj - Dim AllDirsInDir As IEnumerable(Of String) = IO.Directory.EnumerateDirectories(Map.refMainWindowVM.MainWindowM.sProjsDir) - For Each Directory In AllDirsInDir - Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Directory) - For Each File In AllFilesInDir - If Path.GetExtension(File).ToLower() = ".nge" Then - If File.Contains(FILENAMESEPARATOR) Then - Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) - If DataFromFileName.Count = 3 Then - If Not String.IsNullOrEmpty(DataFromFileName(0)) Then - Integer.TryParse(DataFromFileName(0), nTempProjId) - Else Return False - End If - If Not String.IsNullOrEmpty(DataFromFileName(1)) Then - Integer.TryParse(DataFromFileName(1), nTempProdId) - Else - nProdId = 0 - End If - If Not String.IsNullOrEmpty(DataFromFileName(2)) Then - sTempBTLFileName = DataFromFileName(2) - End If - If ProjectFileNameProd = nTempProdId Then - nProjId = nTempProjId - nProdId = nTempProdId - sTempBTLFileName = sBTLFileName - Return True - End If - Else Return False - End If - End If - End If - Next - Next - End If - Return False - End Function + '' funzione che dato un nome file e il tipo restituisce il corretto numero di progetto + 'Friend Shared Function GetProjectNumber(nProjectType As ProjectType, ProjectFileName As String, ByRef nProjId As Integer, ByRef nProdId As Integer, ByRef sBTLFileName As String) As Boolean + ' If String.IsNullOrWhiteSpace(ProjectFileName) Then + ' nProjId = 0 + ' nProdId = 0 + ' sBTLFileName = "" + ' Return False + ' ElseIf ProjectFileName.Contains(FILENAMESEPARATOR) Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sBTLFileName = DataFromFileName(2) + ' End If + ' Return True + ' Else Return False + ' End If + ' ElseIf nProjectType = ProjectType.PROJ Then + ' Dim ProjectFileNameProd As String = Integer.TryParse(ProjectFileName, nProdId) + ' Dim nTempProjId As Integer = 0 + ' Dim nTempProdId As Integer = 0 + ' Dim sTempBTLFileName As String = "" + ' ' ricavo lista cartelle proj + ' Dim AllDirsInDir As IEnumerable(Of String) = IO.Directory.EnumerateDirectories(Map.refMainWindowVM.MainWindowM.sProjsDir) + ' For Each Directory In AllDirsInDir + ' Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Directory) + ' For Each File In AllFilesInDir + ' If Path.GetExtension(File).ToLower() = ".nge" Then + ' If File.Contains(FILENAMESEPARATOR) Then + ' Dim DataFromFileName As String() = ProjectFileName.Split(FILENAMESEPARATOR) + ' If DataFromFileName.Count = 3 Then + ' If Not String.IsNullOrEmpty(DataFromFileName(0)) Then + ' Integer.TryParse(DataFromFileName(0), nTempProjId) + ' Else Return False + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(1)) Then + ' Integer.TryParse(DataFromFileName(1), nTempProdId) + ' Else + ' nProdId = 0 + ' End If + ' If Not String.IsNullOrEmpty(DataFromFileName(2)) Then + ' sTempBTLFileName = DataFromFileName(2) + ' End If + ' If ProjectFileNameProd = nTempProdId Then + ' nProjId = nTempProjId + ' nProdId = nTempProdId + ' sTempBTLFileName = sBTLFileName + ' Return True + ' End If + ' Else Return False + ' End If + ' End If + ' End If + ' Next + ' Next + ' End If + ' Return False + 'End Function Friend Shared Function VerifyProjectModification(CurrProject As ProjFileVM, Type As ProjectType) As Boolean If IsNothing(CurrProject) Then Return True @@ -142,10 +142,6 @@ Public Class ProjFileVM Return True End Function - Friend Shared Function PostVerifyProjectModification(CurrProject As ProjFileVM, Type As ProjectType) As Boolean - - End Function - #End Region ' METHODS End Class \ No newline at end of file diff --git a/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb b/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb index 12802914..773afb2f 100644 --- a/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb @@ -615,8 +615,6 @@ Public Class MySceneHostVM If bOk Then ' leggo struttura BTL Map.refProjectVM.BTLStructureVM = New BTLStructureVM(BTLStructureM.CreateBTLStructure(0)) - ' setto il tipo di progetto nella BTLStructure creata - Map.refProjectVM.BTLStructureVM.nPROJTYPE = Map.refProjManagerVM.nProjType ' Ricavo il tipo di Warehouse settato nell'INI Dim nDefault As Integer = 1 If GetMainPrivateProfileInt(S_GENERAL, K_WAREHOUSE, nDefault) = WarehouseType.MEDIUM Then diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/MachParamIniFile.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/MachParamIniFile.vb index 48e7d12b..7ac45b9f 100644 --- a/EgtBEAMWALL.ViewerOptimizer/Utility/MachParamIniFile.vb +++ b/EgtBEAMWALL.ViewerOptimizer/Utility/MachParamIniFile.vb @@ -36,7 +36,6 @@ Friend Module MachParamIniFile End Function Public Function GetMachPrivateProfileString(IpAppName As String, IpKeyName As String, IpDefault As String, ByRef IpString As String) As Integer - Dim x = EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, sMachParamIniFile) Return EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, sMachParamIniFile) End Function