From f140b6df541760077f179e24bfcfebca039d0ee4 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Fri, 29 Sep 2023 11:44:50 +0200 Subject: [PATCH] - correzione funzionamento OpenProject su BTL aggiunti direttamente a Prod --- .../OpenProjectFileDialogVM.vb | 4 +- .../OpenProjectFileDialogVM.vb | 5 +- .../OpenProjectFileDialogVM.vb | 51 ++++++++++--------- 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index 73e2dc6b..bb3f303b 100644 --- a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -42,6 +42,8 @@ Public MustInherit Class OpenProjectFileDialogVM Friend Event m_CloseWindow(bDialogResult As Boolean) + Protected m_GoToProd As Boolean = False + Protected m_ProjectColumns As New ObservableCollection(Of EgtDataGridColumn) Public Property ProjectColumns As ObservableCollection(Of EgtDataGridColumn) Get @@ -438,7 +440,7 @@ Public MustInherit Class OpenProjectFileDialogVM #Region "METHODS" Public MustOverride Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean? - Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False) + Public Overridable Sub RefreshProjectList() End Sub Protected Sub LoadColumns(ProjectType As ProjectType) diff --git a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index 5a98738d..6a5ebb90 100644 --- a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -11,13 +11,14 @@ Public Class OpenProjectFileDialogVM Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean? m_ProjectType = ProjectType + m_GoToProd = GoToProd ' carico colonne LoadColumns(m_ProjectType) NotifyPropertyChanged(NameOf(FilterTypeList)) m_SelFilterType = m_FilterTypeList(0) ' carico lista progetti If IsNothing(CurrProjectList) OrElse CurrProjectList.Count = 0 Then - RefreshProjectList(GoToProd) + RefreshProjectList() Else m_ProjectList = New ObservableCollection(Of ProjectFileVM)(CurrProjectList) NotifyPropertyChanged(NameOf(ProjectList)) @@ -26,7 +27,7 @@ Public Class OpenProjectFileDialogVM m_ProjectList_View.Filter = AddressOf ProjectFilter End Function - Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False) + Public Overrides Sub RefreshProjectList() m_ProjectList.Clear() ' calcolo periodo e righe Dim dtStart As DateTime diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb index fbb1481f..3a94b47e 100644 --- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb @@ -12,6 +12,7 @@ Public Class OpenProjectFileDialogVM Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean? m_ProjectType = ProjectType + m_GoToProd = GoToProd ' carico colonne LoadColumns(ProjectType) NotifyPropertyChanged(NameOf(FilterTypeList)) @@ -19,7 +20,7 @@ Public Class OpenProjectFileDialogVM ' carico lista progetti If IsNothing(CurrProjectList) OrElse CurrProjectList.Count = 0 Then SetFixedProjectList(False) - RefreshProjectList(GoToProd) + RefreshProjectList() Else SetFixedProjectList(True) m_ProjectList = New ObservableCollection(Of ProjectFileVM)(CurrProjectList) @@ -29,7 +30,7 @@ Public Class OpenProjectFileDialogVM m_ProjectList_View.Filter = AddressOf ProjectFilter End Function - Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False) + Public Overrides Sub RefreshProjectList() m_ProjectList.Clear() ' calcolo periodo e righe Dim dtStart As DateTime @@ -66,30 +67,15 @@ Public Class OpenProjectFileDialogVM Else DbProjectList = DbControllers.m_ProjController.GetLastByExpDesc(dtStart, dtEnd, nRowQuantity, False) End If - For Each Project In DbProjectList - ' recupero path per verificare esista - If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For - Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProjsDir & "\" & Project.nProjId.ToString("0000") & "\" & Project.nProjId.ToString("0000") & ".nge" - If File.Exists(sPath) Then - m_ProjectList.Add(New ProjFileVM(Project)) - Else - ' CheckMe impostata come cancellazione FISICA dal DB... - DbControllers.m_ProjController.DeleteProj(Project.nProjId, False) - EgtOutLog("Found project on Db without the folder and erased it! Proj number " & Project.nProjId.ToString("0000")) - End If - Next - ElseIf m_ProjectType = ProjectType.PROD Then - Dim DbProjectList As New List(Of ProdFileM) - DbProjectList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True) - If GoToProd Then + If m_GoToProd Then For Each Project In DbProjectList ' recupero path per verificare esista If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For - Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProdsDir & "\" & Project.nProdId.ToString("0000") & "\" & Project.nProdId.ToString("0000") & ".nge" + Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProjsDir & "\" & Project.nProjId.ToString("0000") & "\" & Project.nProjId.ToString("0000") & ".nge" If Project.sMachine = Map.refProjManagerVM.CurrProj.sMachine AndAlso Project.nType = Map.refProjManagerVM.CurrProj.nType Then If File.Exists(sPath) Then - m_ProjectList.Add(New ProdFileVM(Project)) + m_ProjectList.Add(New ProjFileVM(Project)) Else DbControllers.m_ProdController.DeleteProd(Project.nProdId, True) EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000")) @@ -99,16 +85,31 @@ Public Class OpenProjectFileDialogVM Else For Each Project In DbProjectList ' recupero path per verificare esista - If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For - Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProdsDir & "\" & Project.nProdId.ToString("0000") & "\" & Project.nProdId.ToString("0000") & ".nge" + If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For + Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProjsDir & "\" & Project.nProjId.ToString("0000") & "\" & Project.nProjId.ToString("0000") & ".nge" If File.Exists(sPath) Then - m_ProjectList.Add(New ProdFileVM(Project)) + m_ProjectList.Add(New ProjFileVM(Project)) Else - DbControllers.m_ProdController.DeleteProd(Project.nProdId, True) - EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000")) + ' CheckMe impostata come cancellazione FISICA dal DB... + DbControllers.m_ProjController.DeleteProj(Project.nProjId, False) + EgtOutLog("Found project on Db without the folder and erased it! Proj number " & Project.nProjId.ToString("0000")) End If Next End If + ElseIf m_ProjectType = ProjectType.PROD Then + Dim DbProjectList As New List(Of ProdFileM) + DbProjectList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True) + For Each Project In DbProjectList + ' recupero path per verificare esista + If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For + Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProdsDir & "\" & Project.nProdId.ToString("0000") & "\" & Project.nProdId.ToString("0000") & ".nge" + If File.Exists(sPath) Then + m_ProjectList.Add(New ProdFileVM(Project)) + Else + DbControllers.m_ProdController.DeleteProd(Project.nProdId, True) + EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000")) + End If + Next End If End Sub