Files
egtbeamwall/EgtBEAMWALL.Optimizer/ProjectFileVM/ProjFileVM.vb
T
2025-09-24 16:44:03 +02:00

87 lines
3.4 KiB
VB.net

Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtUILib
Public Class ProjFileVM
Inherits Core.ProjFileVM
#Region "FIELDS & PROPERTIES"
Public ReadOnly Property bIsEnabled As Boolean
Get
Return Not DbControllers.bNetwork OrElse Not bIsLocked
End Get
End Property
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTORS"
Sub New(ProjectFileM As ProjFileM)
MyBase.New(ProjectFileM)
' verifico valore description
If Not IsNothing(ProjectFileM) AndAlso String.IsNullOrWhiteSpace(ProjectFileM.sDescription) Then
DbControllers.m_ProjController.UpdateDescription(ProjectFileM.nProjId, ProjectFileM.sBTLFileName)
ProjectFileM.sDescription = ProjectFileM.sBTLFileName
End If
End Sub
#End Region ' CONSTRUCTORS
#Region "METHODS"
Friend Shared Function VerifyProjectModification(CurrProject As ProjFileVM, Type As ProjectType) As Boolean
If IsNothing(CurrProject) Then Return True
Dim sProjectDirPath As String = ""
sProjectDirPath = CurrProject.sProjDirPath
' verifico se progetto modificato, e chiedo se salvare
If EgtGetModified() OrElse CurrProject.bIsNew OrElse Map.refCALCPanelVM.IsMachineModified() Then
Select Case MessageBox.Show(EgtMsg(61875), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Case MessageBoxResult.Yes
' salvo proj
'If Not IsNothing(Map.refProjManagerVM) Then
' Map.refProjManagerVM.Save()
If Not IsNothing(Map.refOnlyProdManagerVM) Then
Map.refOnlyProdManagerVM.Save()
End If
Map.refCALCPanelVM.IsMachineApplied = False
Case MessageBoxResult.Cancel
Return False
Case Else ' No
EgtResetModified()
Map.refCALCPanelVM.RevertToOriginalMachine()
Map.refCALCPanelVM.IsMachineApplied = False
If CurrProject.bIsNew Then
' lo elimino
If Directory.Exists(sProjectDirPath) Then
Directory.Delete(sProjectDirPath, True)
End If
'If Not IsNothing(Map.refProjManagerVM) Then
' Map.refProjManagerVM.m_MruFiles.Remove(CurrProject.sProjPath)
' Map.refProjManagerVM.NotifyPropertyChanged(NameOf(Map.refProjManagerVM.MruFileNames))
If Not IsNothing(Map.refOnlyProdManagerVM) Then
Map.refOnlyProdManagerVM.m_MruFiles.Remove(CurrProject.sProjPath)
Map.refOnlyProdManagerVM.NotifyPropertyChanged(NameOf(Map.refOnlyProdManagerVM.MruFileNames))
End If
' CheckMe impostata come cancellazione FISICA dal DB...
DbControllers.m_ProjController.DeleteProj(CurrProject.nProjId, False)
'If Not IsNothing(Map.refProjManagerVM) Then
' ProjectManagerVM.CurrProj = Nothing
If Not IsNothing(Map.refOnlyProdManagerVM) Then
ProjectManagerVM.CurrProj = Nothing
End If
EgtResetModified()
Return True
End If
End Select
Else
EgtResetModified()
End If
DbControllers.m_ProjController.LockByProjId(CurrProject.nProjId, False, Map.refMainWindowVM.MainWindowM.GetKeyNumber())
Return True
End Function
#End Region ' METHODS
End Class