dd31c112a6
- aggiunto parametro SpiralVaseLen (abilitato solo se SpiralVase lo è).
169 lines
5.4 KiB
VB.net
169 lines
5.4 KiB
VB.net
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class CurrMachiningPanelVM
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Private m_CurrMachining As CurrMachining
|
|
Public ReadOnly Property CurrMachining As CurrMachining
|
|
Get
|
|
Return m_CurrMachining
|
|
End Get
|
|
End Property
|
|
Friend Sub SetCurrMachining(CurrMachining As CurrMachining)
|
|
m_CurrMachining = CurrMachining
|
|
NotifyPropertyChanged(NameOf(CurrMachining))
|
|
Map.refTopPanelVM.UpdateCurrMachining()
|
|
End Sub
|
|
|
|
#Region "Tooltip"
|
|
|
|
Public ReadOnly Property SaveInDb_ToolTip As String
|
|
Get
|
|
Return "Save in Db"
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Tooltip
|
|
|
|
' Definizione comandi
|
|
Private m_cmdOk As ICommand
|
|
Private m_cmdCancel As ICommand
|
|
Private m_cmdSaveInDb As ICommand
|
|
|
|
#End Region ' FIELDS & PROPERTIES
|
|
|
|
#Region "CONSTRUCTORS"
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in Map
|
|
Map.SetRefCurrMachiningPanelVM(Me)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTORS
|
|
|
|
Friend Sub ReadMachParamFromSelPart()
|
|
If IsNothing(Map.refTopPanelVM.SelPart) Then Return
|
|
Dim nData As Integer = 0
|
|
m_CurrMachining = New CurrMachining(Map.refTopPanelVM.SelPart.nPartId)
|
|
SetCurrMachining(m_CurrMachining)
|
|
' aggiorno parametri mostrati nella barra
|
|
NotifyPropertyChanged(NameOf(CurrMachining))
|
|
Map.refTopPanelVM.UpdateCurrMachining()
|
|
End Sub
|
|
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "Ok"
|
|
|
|
Public ReadOnly Property Ok_Command As ICommand
|
|
Get
|
|
If m_cmdOk Is Nothing Then
|
|
m_cmdOk = New Command(AddressOf Ok)
|
|
End If
|
|
Return m_cmdOk
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub Ok()
|
|
' verifico se modificata tipologia Ribs
|
|
Dim bIsModifiedRibsType As Boolean = False
|
|
Dim RibsCathegory As MachiningCathegory = CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.RIBS)
|
|
If Not IsNothing(RibsCathegory) Then
|
|
Dim RibsTypeParam As MachiningParam = RibsCathegory.MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.RIBSTYPE)
|
|
If Not IsNothing(RibsTypeParam) Then
|
|
bIsModifiedRibsType = RibsTypeParam.bIsModified
|
|
End If
|
|
End If
|
|
' scrivo i parametri modificati
|
|
m_CurrMachining.WriteCurrParamInPart(Map.refTopPanelVM.SelPart.nPartId)
|
|
m_CurrMachining.Save()
|
|
' se modificata tipologia Ribs, aggiorno posizione riferimento
|
|
If bIsModifiedRibsType Then
|
|
Map.refReferencePanelVM.UpdateFramePosition()
|
|
Map.refDispositionPanelVM.UpdateZPos()
|
|
Map.refSliceManagerVM.UpdateDimensions()
|
|
End If
|
|
' ripristino modalita' standard
|
|
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
|
End Sub
|
|
|
|
#End Region ' Ok
|
|
|
|
#Region "Cancel"
|
|
|
|
Public ReadOnly Property Cancel_Command As ICommand
|
|
Get
|
|
If m_cmdCancel Is Nothing Then
|
|
m_cmdCancel = New Command(AddressOf Cancel)
|
|
End If
|
|
Return m_cmdCancel
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub Cancel()
|
|
' ripristino i parametri modificati
|
|
m_CurrMachining.ResetModification()
|
|
' ripristino modalita' standard
|
|
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
|
End Sub
|
|
|
|
#End Region ' Cancel
|
|
|
|
#Region "SaveInDb"
|
|
|
|
Public ReadOnly Property SaveInDb_Command As ICommand
|
|
Get
|
|
If m_cmdSaveInDb Is Nothing Then
|
|
m_cmdSaveInDb = New Command(AddressOf SaveInDb)
|
|
End If
|
|
Return m_cmdSaveInDb
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub SaveInDb()
|
|
If IsNothing(m_CurrMachining) Then Return
|
|
' apro finestra di scelta nome
|
|
Dim SaveInDbWndVM As New MachSaveInDbWndVM(Map.refTopPanelVM.SelMachining.sName)
|
|
Dim SaveInDbWndV As New MachSaveInDbWndV(Application.Current.MainWindow, SaveInDbWndVM)
|
|
If SaveInDbWndV.ShowDialog Then
|
|
' recupero primo indice libero
|
|
Dim nIndex As Integer = 1
|
|
Dim sGUID As String = ""
|
|
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
|
nIndex += 1
|
|
End While
|
|
Dim sNewMachGUID As Guid = Guid.NewGuid()
|
|
WriteMachiningParam(nIndex, MAC_GUID, sNewMachGUID.ToString())
|
|
WriteMachiningParam(nIndex, MAC_NAME, SaveInDbWndVM.sName)
|
|
' creo categoria materiali con attivo materiale corrente
|
|
Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0, m_CurrMachining)
|
|
Dim SelMaterialParam As MaterialMachiningParam = MaterialCathegory.MachiningParamList.FirstOrDefault(Function(x As MaterialMachiningParam) x.sGUID = Map.refTopPanelVM.SelMaterial.sGUID)
|
|
If Not IsNothing(SelMaterialParam) Then
|
|
SelMaterialParam.bValue = True
|
|
End If
|
|
' aggiungo categoria materiali a lavorazione corrente
|
|
m_CurrMachining.CathegoryList.Add(MaterialCathegory)
|
|
' scrivo parametri nuova lavorazione in Db
|
|
For Each Cathegory In m_CurrMachining.CathegoryList
|
|
Cathegory.WriteParamOnDb(nIndex)
|
|
Next
|
|
' ricarico lista lavorazioni top panel e db
|
|
Map.refTopPanelVM.InitMachiningsList()
|
|
Map.refMachiningDbVM.Init()
|
|
' seleziono quella appena creata
|
|
Map.refTopPanelVM.SelMachining = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.sGUID = sNewMachGUID)
|
|
Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.SelMachining))
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' SaveInDb
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|