Ristrutturazione classi
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
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 CurrProj In nProjIdList
|
||||
Dim TempProj As ProjFileM = DbControllers.m_ProjController.FindByProjIdConv(CurrProj)
|
||||
If Not IsNothing(TempProj) Then sBTLFileName &= TempProj.sListName
|
||||
Next
|
||||
SetBTLFileName(sBTLFileName)
|
||||
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
|
||||
|
||||
' 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
|
||||
|
||||
Friend Shared Function VerifyProjectModification(CurrProject As ProdFileVM) As Boolean
|
||||
If IsNothing(CurrProject) Then Return True
|
||||
Dim bNewProject As Boolean = False
|
||||
Dim sProjectDirPath As String = ""
|
||||
sProjectDirPath = CurrProject.sProdDirPath
|
||||
' verifico se progetto modificato, e chiedo se salvare
|
||||
If EgtGetModified() OrElse CurrProject.bIsNew Then
|
||||
Select Case MessageBox.Show(EgtMsg(61875), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Case MessageBoxResult.Yes
|
||||
' salvo proj
|
||||
Map.refProdManagerVM.Save()
|
||||
Case MessageBoxResult.Cancel
|
||||
Return False
|
||||
Case Else ' No
|
||||
EgtResetModified()
|
||||
If CurrProject.bIsNew Then
|
||||
' lo elimino
|
||||
Directory.Delete(sProjectDirPath, True)
|
||||
Map.refProdManagerVM.m_MruFiles.Remove(CurrProject.sProdPath)
|
||||
Map.refProdManagerVM.NotifyPropertyChanged(NameOf(Map.refProdManagerVM.MruFileNames))
|
||||
DbControllers.m_ProdController.DeleteProd(CurrProject.nProdId)
|
||||
If CurrProject.nProdId = Map.refProjManagerVM.CurrProj.nProdId Then
|
||||
' reset prod in path proj
|
||||
Map.refProjManagerVM.UpdateCurrProj()
|
||||
End If
|
||||
Map.refProdManagerVM.CurrProd = Nothing
|
||||
EgtResetModified()
|
||||
Return True
|
||||
End If
|
||||
End Select
|
||||
Else
|
||||
EgtResetModified()
|
||||
End If
|
||||
DbControllers.m_ProdController.ResetController()
|
||||
DbControllers.m_ProdController.LockByProdId(CurrProject.nProdId, False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user