- gestione apertura progetto senza lavorazione in Db

This commit is contained in:
Emmanuele Sassi
2022-10-03 18:08:20 +02:00
parent df402b5c8a
commit ea2da7bae2
5 changed files with 39 additions and 22 deletions
+11 -10
View File
@@ -6,12 +6,12 @@ Imports EgtWPFLib5
Public Class CurrMachining
Inherits Machining
Private m_sCurrGUID As String = ""
Public Property sCurrGUID As String
Private m_sCurrGUID As Guid = Guid.Empty
Public Property sCurrGUID As Guid
Get
Return m_sCurrGUID
End Get
Set(value As String)
Set(value As Guid)
m_sCurrGUID = value
End Set
End Property
@@ -84,11 +84,12 @@ Public Class CurrMachining
Sub New(nPartId As Integer)
' ricavo lavorazione da lista
Dim sMacIniFilePath As String = Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini"
EgtGetInfo(nPartId, MAC_GUID, m_sCurrGUID)
If Not String.IsNullOrWhiteSpace(m_sCurrGUID) Then
Dim sCurrGuid As String = ""
EgtGetInfo(nPartId, MAC_GUID, sCurrGuid)
If Guid.TryParse(sCurrGuid, m_sCurrGUID) Then
Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.sGUID = m_sCurrGUID)
If IsNothing(CurrMachiningInDb) Then
MessageBox.Show("Machining not found in Db!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
MessageBox.Show("Machining not found in Db!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
m_nIndex = 0
Else
m_nIndex = CurrMachiningInDb.nIndex
@@ -163,7 +164,7 @@ Public Class CurrMachining
End Sub
Friend Sub WriteCurrParamInPart(nPartId As Integer)
EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID)
EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID.ToString())
For Each Cathegory As CurrMachiningCathegory In m_CathegoryList
Cathegory.WriteCurrParamInPart(nPartId)
Next
@@ -301,7 +302,7 @@ Public Class CurrNumericMachiningParam
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_dValue <> m_DbParam.dOrigValue
Return If(Map.refTopPanelVM.SelMachining.sGUID <> Guid.Empty, m_dValue <> m_DbParam.dOrigValue, False)
End Get
End Property
@@ -681,7 +682,7 @@ Public Class CurrComboMachiningParam
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_SelValue.Id <> m_DbParam.OrigSelValue.Id
Return If(Map.refTopPanelVM.SelMachining.sGUID <> Guid.Empty, m_SelValue.Id <> m_DbParam.OrigSelValue.Id, False)
End Get
End Property
@@ -845,7 +846,7 @@ Public Class CurrCheckMachiningParam
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_bValue <> m_DbParam.bOrigValue
Return If(Map.refTopPanelVM.SelMachining.sGUID <> Guid.Empty, m_bValue <> m_DbParam.bOrigValue, False)
End Get
End Property
@@ -110,8 +110,8 @@ Public Class CurrMachiningPanelVM
nIndex += 1
End While
Dim sMacIniFilePath As String = Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini"
Dim sNewMachGUID As String = Guid.NewGuid.ToString()
WritePrivateProfileString(nIndex, MAC_GUID, sNewMachGUID, sMacIniFilePath)
Dim sNewMachGUID As Guid = Guid.NewGuid()
WritePrivateProfileString(nIndex, MAC_GUID, sNewMachGUID.ToString(), sMacIniFilePath)
WritePrivateProfileString(nIndex, MAC_NAME, SaveInDbWndVM.sName, sMacIniFilePath)
' creo categoria materiali con attivo materiale corrente
Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0)
+10 -4
View File
@@ -229,6 +229,8 @@ End Class
Public Class MachiningIndex
Inherits VMBase
Private Shared m_Empty As New MachiningIndex(-1, Guid.Empty, "None")
Private m_nIndex As Integer
Public ReadOnly Property nIndex As Integer
Get
@@ -236,8 +238,8 @@ Public Class MachiningIndex
End Get
End Property
Private m_sGUID As String
Public ReadOnly Property sGUID As String
Private m_sGUID As Guid
Public ReadOnly Property sGUID As Guid
Get
Return m_sGUID
End Get
@@ -250,12 +252,16 @@ Public Class MachiningIndex
End Get
End Property
Sub New(nIndex As Integer, sGUID As String, sName As String)
Sub New(nIndex As Integer, GUID As Guid, sName As String)
m_nIndex = nIndex
m_sGUID = sGUID
m_sGUID = GUID
m_sName = sName
End Sub
Friend Shared Function Empty() As MachiningIndex
Return m_Empty
End Function
End Class
Public Class MachiningCathegory
+3 -2
View File
@@ -314,6 +314,9 @@ Public Class SliderManagerVM
End If
Next
End Select
' mostro/nascondo slider orizzontale
m_LayerAdvancement_Visibility = If(m_nSelViewSlider = ViewSliderType.ONLY_SELECTED, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(LayerAdvancement_Visibility))
EgtDraw()
End Set
End Property
@@ -341,9 +344,7 @@ Public Class SliderManagerVM
Friend Sub SetSliderVisibility(bValue As Boolean)
Dim Visibility As Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
m_LayerIndex_Visibility = Visibility
m_LayerAdvancement_Visibility = Visibility
NotifyPropertyChanged(NameOf(LayerIndex_Visibility))
NotifyPropertyChanged(NameOf(LayerAdvancement_Visibility))
End Sub
Friend Sub RefreshSlider(nMin As Integer, nMax As Integer)
+13 -4
View File
@@ -172,7 +172,9 @@ Public Class TopPanelVM
EgtDraw()
' imposto lavorazione e materiale del pezzo selezionato
Map.refCurrMachiningPanelVM.ReadMachParamFromSelPart()
SetSelMachining(MachiningList.FirstOrDefault(Function(x) x.sGUID = Map.refCurrMachiningPanelVM.CurrMachining.sCurrGUID))
Dim DbMachining As MachiningIndex = MachiningList.FirstOrDefault(Function(x) x.sGUID = Map.refCurrMachiningPanelVM.CurrMachining.sCurrGUID)
If IsNothing(DbMachining) Then DbMachining = MachiningIndex.Empty()
SetSelMachining(DbMachining)
' notifico posizione pezzo
Map.refDispositionPanelVM.RefreshPos()
End If
@@ -222,7 +224,7 @@ Public Class TopPanelVM
Set(value As MachiningIndex)
' verifico se vecchia modificata e chiedo se salvare?
If Not IsNothing(value) Then
WriteMainPrivateProfileString(S_PRINTING3D, K_CURRMACHINING, value.sGUID)
WriteMainPrivateProfileString(S_PRINTING3D, K_CURRMACHINING, value.sGUID.ToString())
' imposto selezionata come corrente
If Not IsNothing(m_SelPart) AndAlso (IsNothing(m_SelMachining) OrElse value.sGUID <> m_SelMachining.sGUID) Then
Map.refCurrMachiningPanelVM.SetCurrMachining(New CurrMachining(m_SelPart.nPartId, value.nIndex))
@@ -314,23 +316,30 @@ Public Class TopPanelVM
Friend Sub InitMachiningsList()
If IsNothing(m_SelMaterial) Then Return
MachiningList.Clear()
' aggiungo lavorazione vuota
MachiningList.Add(MachiningIndex.Empty())
' leggo ed aggiungo le altre
Dim nIndex As Integer = 1
Dim sGUID As String = ""
Dim sName As String = ""
Dim sMaterials As String = ""
While GetPrivateProfileString(nIndex, MAC_GUID, "", sGUID, Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini") > 0
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
GetPrivateProfileString(nIndex, MAC_NAME, "", sName, Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini")
' leggo materiali che usa
GetPrivateProfileString(nIndex, MAC_MATERIALS, "", sMaterials, Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini")
Dim MacMaterials() As String = sMaterials.Split(";"c)
If MacMaterials.Contains(SelMaterial.sGUID) Then
MachiningList.Add(New MachiningIndex(nIndex, sGUID, sName))
MachiningList.Add(New MachiningIndex(nIndex, Guid, sName))
End If
nIndex += 1
End While
Dim sCurrMachining As String = ""
GetMainPrivateProfileString(S_PRINTING3D, K_CURRMACHINING, "", sCurrMachining)
SelMachining = MachiningList.FirstOrDefault(Function(x) x.sGUID = sCurrMachining)
Dim CurrMachining As Guid
Guid.TryParse(sCurrMachining, CurrMachining)
SelMachining = MachiningList.FirstOrDefault(Function(x) x.sGUID = CurrMachining)
End Sub
Friend Function GetSelMachining() As Machining