Files
egtbeamwall/EgtBEAMWALL.Optimizer/ProjectFileVM/ProdFileVM.vb
T
Demetrio Cassarino deca9cd4c0 -ripristinato funzioni da modulo config
-pulizia di proj e prod manager
-da sistemare selectedmachgroup
2025-04-23 16:31:14 +02:00

97 lines
4.4 KiB
VB.net

Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtUILib
Public Class ProdFileVM
Inherits Core.ProdFileVM
#Region "CONSTRUCTORS"
Sub New(ProdFileM As ProdFileM)
MyBase.New(ProdFileM)
' aggiungo nome btl
Dim sBTLFileName As String = ""
For Each TempCurrProj In nProjIdList
Dim TempProj As ProjFileM = DbControllers.m_ProjController.FindByProjIdConv(TempCurrProj)
If Not IsNothing(TempProj) Then sBTLFileName &= TempProj.sListName
Next
SetBTLFileName(sBTLFileName)
' verifico valore description
If Not IsNothing(ProdFileM) AndAlso String.IsNullOrWhiteSpace(ProdFileM.sName) Then
For Each TempCurrProj In nProjIdList
Dim TempProj As ProjFileM = DbControllers.m_ProjController.FindByProjIdConv(TempCurrProj)
If Not IsNothing(TempProj) AndAlso Not String.IsNullOrWhiteSpace(TempProj.sBTLFileName) Then
DbControllers.m_ProdController.UpdateDescription(ProdFileM.nProdId, TempProj.sBTLFileName)
ProdFileM.sName = TempProj.sBTLFileName
End If
Next
End If
End Sub
#End Region ' CONSTRUCTORS
Friend Function GetProjPath(nProjId As Integer)
Dim sPath As String = String.Empty
If nProjId = 0 Then Return String.Empty
Return refMainWindowVM.MainWindowM.sProjsDir & "\" & nProjId.ToString("0000") & "\" & nProjId.ToString("0000") & ".nge"
End Function
Friend Shared Function VerifyProjectModification(CurrProject As ProdFileVM) As MessageBoxResult
If IsNothing(CurrProject) Then Return True
Dim bNewProject As Boolean = False
Dim sProjectDirPath As String = ""
sProjectDirPath = CurrProject.sProdDirPath
Dim VerifyResult As MessageBoxResult = MessageBoxResult.None
' verifico se progetto modificato, e chiedo se salvare
If EgtGetModified() OrElse CurrProject.bIsNew OrElse Map.refCALCPanelVM.IsMachineModified() Then
VerifyResult = MessageBox.Show(EgtMsg(61875), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Select Case VerifyResult
Case MessageBoxResult.Yes
' salvo proj
'If Not IsNothing(Map.refProdManagerVM) Then
' Map.refProdManagerVM.Save()
If Not IsNothing(Map.refOnlyProdManagerVM) Then
Map.refOnlyProdManagerVM.Save()
End If
Case MessageBoxResult.Cancel
Return MessageBoxResult.Cancel
Case Else ' No
EgtResetModified()
Map.refCALCPanelVM.RevertToOriginalMachine()
If CurrProject.bIsNew Then
' lo elimino
Try
Directory.Delete(sProjectDirPath, True)
Catch ex As Exception
End Try
'If Not IsNothing(Map.refProdManagerVM) Then
' Map.refProdManagerVM.m_MruFiles.Remove(CurrProject.sProdPath)
' Map.refProdManagerVM.NotifyPropertyChanged(NameOf(Map.refProdManagerVM.MruFileNames))
If Not IsNothing(Map.refOnlyProdManagerVM) Then
Map.refOnlyProdManagerVM.m_MruFiles.Remove(CurrProject.sProdPath)
Map.refOnlyProdManagerVM.NotifyPropertyChanged(NameOf(Map.refOnlyProdManagerVM.MruFileNames))
End If
DbControllers.m_ProdController.DeleteProd(CurrProject.nProdId, False)
'If Not IsNothing(Map.refProjManagerVM) AndAlso CurrProject.nProdId = ProjectManagerVM.CurrProj.nProdId Then
' ' reset prod in path proj
' Map.refProjManagerVM.UpdateCurrProj()
If Not IsNothing(Map.refOnlyProdManagerVM) AndAlso CurrProject.nProdId = ProjectManagerVM.CurrProj.nProdId Then
' reset prod in path proj
Map.refOnlyProdManagerVM.UpdateCurrProj()
End If
'If Not IsNothing(Map.refProdManagerVM) Then
' ProjectManagerVM.CurrProd = Nothing
'End If
EgtResetModified()
Return MessageBoxResult.No
End If
End Select
Else
EgtResetModified()
End If
DbControllers.m_ProdController.ResetController()
DbControllers.m_ProdController.LockByProdId(CurrProject.nProdId, False, Map.refMainWindowVM.MainWindowM.GetKeyNumber())
Return VerifyResult
End Function
End Class