Optimizer 3.0.1.7

-cambiato gestione parametri generali
-sistemato pulsante chiusura programma
-aggiunto pulsante in warehouse per mostrazione tutti i materiali
This commit is contained in:
Demetrio Cassarino
2026-01-28 15:31:45 +01:00
parent 2cfc0383ff
commit 85796d1862
20 changed files with 373 additions and 375 deletions
+1
View File
@@ -107,6 +107,7 @@ Public Module ConstIni
Public Const S_WAREHOUSE As String = "Warehouse"
Public Const K_TYPE As String = "Type"
Public Const K_DEFAULTQUANTITY As String = "DefaultQuantity"
Public Const K_DEFAULTLENGTH As String = "DefaultLength"
Public Const S_SECTION As String = "Section_Checked"
Public Const S_IMAGE As String = "Image_Checked"
@@ -34,16 +34,20 @@
Tag="{Binding GeneralParametersList}"
IsEnabled="{Binding GeneralParametersIsEnable}"/>
<UniformGrid Grid.Column="1"
Rows="2"
Columns="2"
Style="{StaticResource BTLDataWnd_UniformGrid}">
<CheckBox IsChecked="{Binding bSaveGeneralParameters, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource BTLDataWnd_CheckBox}"/>
<Button Command="{Binding Ok_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource BTLDataWnd_Button}">
Style="{StaticResource OKBTLDataWnd_Button}">
<Image Source="/Resources/NewPage/Ok.png"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Cancel_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource BTLDataWnd_Button}">
<Image Source="/Resources/PDFEditor/Delete.png"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</UniformGrid>
</Grid>
</Grid>
+223 -310
View File
@@ -20,18 +20,18 @@ Public Class BTLDataWndVM
End Get
End Property
Private m_OldSelStrategySetup As String
Private m_SelStrategySetup As String
Public Property SelStrategySetup As String
Get
Return m_SelStrategySetup
End Get
Set(value As String)
m_OldSelStrategySetup = m_SelStrategySetup
If m_SelStrategySetup <> value Then
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, value)
WriteMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, value & ".json")
Map.refStrategyManagerVM.SelStrategySetup.sName = value
Map.refStrategyManagerVM.SelStrategySetup.Read()
Map.refProdManagerVM.Save()
ReadCustomGeneralParameters(value)
End If
m_SelStrategySetup = value
NotifyPropertyChanged(NameOf(SelStrategySetup))
@@ -56,35 +56,6 @@ Public Class BTLDataWndVM
End Set
End Property
Private m_bSaveGeneralParameters As Boolean
Public Property bSaveGeneralParameters As Boolean
Get
Return m_bSaveGeneralParameters
End Get
Set(value As Boolean)
m_bSaveGeneralParameters = value
If m_bSaveGeneralParameters Then
SetGeneralParametersIsEnable(True)
Else
SetGeneralParametersIsEnable(False)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
End If
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/adjustment.png")
End If
NotifyPropertyChanged(NameOf(bSaveGeneralParameters))
End Set
End Property
Friend Sub SetbSaveGeneralParameters(value As Boolean)
m_bSaveGeneralParameters = value
NotifyPropertyChanged(NameOf(bSaveGeneralParameters))
End Sub
Private m_GeneralParametersIsEnable As Boolean = False
Public ReadOnly Property GeneralParametersIsEnable As Boolean
Get
@@ -570,240 +541,23 @@ Public Class BTLDataWndVM
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New(nProjId As Integer)
m_GeneralParametersList.Clear()
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
Sub New()
' cerco tra i layer BTLInfo
Dim nCurrBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
While nCurrBTLInfoLayerId <> GDB_ID.NULL
' verifico se il layer appartiene al ProjId
Dim nBTLInfoLayerProjId As Integer
EgtGetInfo(nCurrBTLInfoLayerId, BTL_PRT_PROJ, nBTLInfoLayerProjId)
If nBTLInfoLayerProjId = nProjId Then
m_nBTLInfoLayerId = nCurrBTLInfoLayerId
Exit While
End If
nCurrBTLInfoLayerId = EgtGetNextName(nCurrBTLInfoLayerId, BTLINFO)
End While
' leggo parametri Btl
ReadBtlParams()
' Controllo se presente file default config
Dim sDefaultConfigFile As String = String.Empty
Dim sTrimDefaultConfig As String = String.Empty
If GetMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile) <> 0 Then
sTrimDefaultConfig = System.IO.Path.GetFileNameWithoutExtension(sDefaultConfigFile)
m_SelStrategySetup = sTrimDefaultConfig
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
End If
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
End If
' Leggo info se presenti
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(DoubleGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ComboGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
Dim sTmpValueInfo As String = String.Empty
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sTmpValueInfo)
If sTmpValueInfo = String.Empty Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
Else
DirectCast(GeneralParameter, ComboGenericParameter).SelValue = DirectCast(GeneralParameter, ComboGenericParameter).ComboList.FirstOrDefault(Function(x) x.sValue = sTmpValueInfo)
End If
Case GetType(StringGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ListGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo) Then
sInfo = sTmpInfo
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
End If
Next
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End Sub
Sub New(ProdFileVM As ProdFileVM)
m_GeneralParametersList.Clear()
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProdFileVM.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
' cerco tra i layer BTLInfo
Dim nCurrBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
While nCurrBTLInfoLayerId <> GDB_ID.NULL
' verifico se il layer appartiene al ProjId
Dim nBTLInfoLayerProjId As Integer
EgtGetInfo(nCurrBTLInfoLayerId, BTL_PRT_PROJ, nBTLInfoLayerProjId)
If nBTLInfoLayerProjId = ProdFileVM.nProjId Then
m_nBTLInfoLayerId = nCurrBTLInfoLayerId
Exit While
End If
nCurrBTLInfoLayerId = EgtGetNextName(nCurrBTLInfoLayerId, BTLINFO)
End While
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(ProdFileVM.nType)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
End If
' Leggo info se presenti
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(DoubleGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ComboGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
Dim sTmpValueInfo As String = String.Empty
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sTmpValueInfo)
If sTmpValueInfo = String.Empty Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
Else
DirectCast(GeneralParameter, ComboGenericParameter).SelValue = DirectCast(GeneralParameter, ComboGenericParameter).ComboList.FirstOrDefault(Function(x) x.sValue = sTmpValueInfo)
End If
Case GetType(StringGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ListGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo) Then
sInfo = sTmpInfo
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
End If
Next
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
Sub New(nProjId As Integer)
' leggo parametri Btl
ReadBtlParams()
' Leggo parametri generali
m_nBTLInfoLayerId = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
EgtGetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
Read(nProjId)
End Sub
#End Region ' CONSTRUCTOR
@@ -839,6 +593,191 @@ Public Class BTLDataWndVM
EgtGetInfo(m_nBTLInfoLayerId, BTL_GEN_USERATTRIBUTE, m_sUSERATTRIBUTE)
End Sub
Friend Sub Read(nProjId As Integer)
m_GeneralParametersList.Clear()
m_StrategySetupList.Clear()
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
' cerco tra i layer BTLInfo
Dim nCurrBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
While nCurrBTLInfoLayerId <> GDB_ID.NULL
' verifico se il layer appartiene al ProjId
Dim nBTLInfoLayerProjId As Integer
EgtGetInfo(nCurrBTLInfoLayerId, BTL_PRT_PROJ, nBTLInfoLayerProjId)
If nBTLInfoLayerProjId = nProjId Then
m_nBTLInfoLayerId = nCurrBTLInfoLayerId
Exit While
End If
nCurrBTLInfoLayerId = EgtGetNextName(nCurrBTLInfoLayerId, BTLINFO)
End While
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
End If
' Leggo info se presenti
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(DoubleGenericParameter)
SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ComboGenericParameter)
SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
Dim sTmpValueInfo As String = String.Empty
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sTmpValueInfo)
If sTmpValueInfo = String.Empty Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
SetGeneralParametersIsEnable(False)
Return
Else
DirectCast(GeneralParameter, ComboGenericParameter).SelValue = DirectCast(GeneralParameter, ComboGenericParameter).ComboList.FirstOrDefault(Function(x) x.sValue = sTmpValueInfo)
End If
Case GetType(StringGenericParameter)
SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ListGenericParameter)
SetGeneralParametersIsEnable(True)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo) Then
sInfo = sTmpInfo
SetGeneralParametersIsEnable(False)
Return
End If
End If
Next
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End Sub
Private Sub ReadCustomGeneralParameters(SelStrategySetup As String)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End If
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(Map.refStrategyManagerVM.SelStrategyType.Id, False)
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & SelStrategySetup & ".json"
If File.Exists(sStrategyConfigurationFilePath) Then
Dim sReadedFile As String = File.ReadAllText(sStrategyConfigurationFilePath)
Dim JsonRoot As CustomJsonRoot = Nothing
Try
JsonRoot = JsonConvert.DeserializeObject(Of CustomJsonRoot)(sReadedFile)
Catch ex As Exception
JsonRoot = Nothing
Return
End Try
For Each ProjectItem In JsonRoot.GENERAL
Dim DefaultProject As ProjectParameters = m_GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectItem.sName)
DefaultProject.ReadConfiguration(ProjectItem, m_GeneralParametersList)
Next
End If
End Sub
Friend Sub SaveInfoBTL()
Dim sInfo As String = String.Empty
' Controllo se presente file default config
If IsNothing(m_SelStrategySetup) Then
Dim sDefaultConfigFile As String = String.Empty
Dim sTrimDefaultConfig As String = String.Empty
If GetMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile) <> 0 Then
sTrimDefaultConfig = System.IO.Path.GetFileNameWithoutExtension(sDefaultConfigFile)
m_SelStrategySetup = sTrimDefaultConfig
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
End If
Else
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
End If
For Each GeneralParameter In GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, BooleanGenericParameter).bIsBooleanModify)
Case GetType(DoubleGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, DoubleGenericParameter).bIsDoubleModify)
Case GetType(ComboGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ComboGenericParameter).bIsComboBoxModify)
Case GetType(StringGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, StringGenericParameter).bIsStringModify)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ListGenericParameter).bIsListModify)
End Select
Next
End Sub
#End Region ' METHODS
#Region "COMMANDS"
@@ -855,64 +794,38 @@ Public Class BTLDataWndVM
End Property
Public Sub Ok()
Dim sInfo As String = String.Empty
If m_bSaveGeneralParameters Then
For Each GeneralParameter In GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, BooleanGenericParameter).bIsBooleanModify)
Case GetType(DoubleGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, DoubleGenericParameter).bIsDoubleModify)
Case GetType(ComboGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ComboGenericParameter).bIsComboBoxModify)
Case GetType(StringGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, StringGenericParameter).bIsStringModify)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ListGenericParameter).bIsListModify)
End Select
Next
Else
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(DoubleGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(ComboGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(StringGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
End If
Next
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED")
End Select
Next
' Messaggio ripristino verifica se presente
If Not IsNothing(m_OldSelStrategySetup) AndAlso m_SelStrategySetup <> m_OldSelStrategySetup Then
If MessageBox.Show("Please note: the part in this BTL will be reset.", "Attention", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
SaveInfoBTL()
Map.refStrategyManagerVM.Save(m_GeneralParametersList)
Map.refLeftPanelVM.ResetCalc()
Map.refProjectVM.ResetGeneralParameters()
Map.refSceneHostVM.SaveProject()
End If
End If
Map.refProdManagerVM.Save()
RaiseEvent m_CloseWindow(True)
End Sub
#End Region ' Ok
#Region "Ok"
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()
RaiseEvent m_CloseWindow(False)
End Sub
#End Region ' Ok
#End Region ' COMMANDS
End Class
@@ -207,15 +207,15 @@ Public Class BTLPartManagerVM
' Leggo info se presenti
Dim sInfo As String = String.Empty
Dim sDefaultConfigFile As String = String.Empty
Dim sTrimDefaultConfig As String = String.Empty
EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, AI_SETUP, Map.refProjectVM.SelStrategySetup)
If Map.refProjectVM.SelStrategySetup Is String.Empty Then
If GetMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile) <> 0 Then
sTrimDefaultConfig = System.IO.Path.GetFileNameWithoutExtension(sDefaultConfigFile)
Map.refProjectVM.SelStrategySetup = sTrimDefaultConfig
EgtSetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, AI_SETUP, Map.refProjectVM.SelStrategySetup)
End If
Dim sStrategyBTLSetup As String = String.Empty
Dim nBTLInfoLayerId As Integer = 0
If Map.refProjectVM.bSaveGeneralParameters Then
EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, AI_SETUP, Map.refProjectVM.SelStrategySetup)
Else
nBTLInfoLayerId = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
EgtGetInfo(nBTLInfoLayerId, AI_SETUP, sStrategyBTLSetup)
Map.refProjectVM.SelStrategySetup = sStrategyBTLSetup
EgtSetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, AI_SETUP, Map.refProjectVM.SelStrategySetup)
End If
For Each GeneralParameter In Map.refProjectVM.GeneralParametersList
Select Case GeneralParameter.GetType()
@@ -770,18 +770,6 @@ Public Class BTLStructureVM
#End Region ' Parametri generici
Private m_GeneralParameters As String = "pack://application:,,,/Resources/NewPage/adjustment.png"
Public ReadOnly Property GeneralParameters As String
Get
Return m_GeneralParameters
End Get
End Property
Friend Sub SetGeneralParameters(value As String)
m_GeneralParameters = value
NotifyPropertyChanged(NameOf(GeneralParameters))
End Sub
' Definizione comandi
Private m_cmdDeletePart As ICommand
Private m_cmdData As ICommand
@@ -851,7 +839,6 @@ Public Class BTLStructureVM
bValueForced = False
EgtGetInfo(m_BTLStructureM.nBTLInfoId, GeneralParameter.sNameNge & "_FORCED", bValue)
EgtGetInfo(BTLPart.nPartId, GeneralParameter.sNameNge & "_FORCED", bValueForced)
If bValue Then SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
If bValueForced Then BTLPart.SetStrategyModify_Visibility(Visibility.Visible)
Next
Next
@@ -588,7 +588,7 @@ Public Class CALCPanelVM
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
Map.refMyStatusBarVM.SetOutputMessage("Verifica in corso...")
Map.refMyStatusBarVM.SetOutputMessage("Checking in progress...")
' Imposto contesto scena principale
Dim CurrContext As Integer = EgtGetCurrentContext()
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
@@ -640,7 +640,7 @@ Public Class CALCPanelVM
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
Map.refMyStatusBarVM.SetOutputMessage("Verifica in corso...")
Map.refMyStatusBarVM.SetOutputMessage("Checking in progress...")
' Imposto contesto scena principale
Dim CurrContext As Integer = EgtGetCurrentContext()
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
@@ -84,7 +84,7 @@ Module MyExecProcessManager
If nProjIndex = -1 Then
Map.refMyStatusBarVM.MaximumValue = 1
Map.refMyStatusBarVM.SetLoadingProgress(1)
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
Map.refMyStatusBarVM.SetOutputMessage("Verification Complete")
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
Else
Map.refMyStatusBarVM.MaximumValue = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
@@ -92,7 +92,7 @@ Module MyExecProcessManager
nProjIndex += 1
End If
If nProjIndex = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1 Then
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
Map.refMyStatusBarVM.SetOutputMessage("Verification Complete")
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(True)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(True)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
@@ -102,7 +102,7 @@ Module MyExecProcessManager
If nProdIndex = -1 Then
Map.refMyStatusBarVM.MaximumValue = 1
Map.refMyStatusBarVM.SetLoadingProgress(1)
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
Map.refMyStatusBarVM.SetOutputMessage("Verification Complete")
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
Else
Map.refMyStatusBarVM.MaximumValue = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1
@@ -110,7 +110,7 @@ Module MyExecProcessManager
nProdIndex += 1
End If
If nProdIndex = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 Then
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
Map.refMyStatusBarVM.SetOutputMessage("Verification Complete")
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(True)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(True)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
@@ -100,11 +100,10 @@ Public Class GeneralParametersStrategyVM
For Each ProjectItem In JsonRoot.GENERAL
Dim DefaultProject As ProjectParameters = m_GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectItem.sName)
DefaultProject.ReadConfiguration(ProjectItem)
DefaultProject.ReadConfiguration(ProjectItem, m_GeneralParametersList)
Next
End If
End If
End Sub
#End Region ' Methods
@@ -137,7 +136,7 @@ Public Class GeneralParametersStrategyVM
ProjectItem.sValue = DirectCast(ProjectItem, ListGenericParameter).SelValue.sName
End Select
Next
Map.refStrategyManagerVM.Save()
Map.refStrategyManagerVM.Save(m_GeneralParametersList)
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
' Chiudo finestra
RaiseEvent m_CloseWindow(True)
@@ -422,8 +421,8 @@ Public MustInherit Class ProjectParameters
Friend MustOverride Function Serialize() As JsonParametersHelper
Friend Sub ReadConfiguration(ProjectParameters As JsonParameters)
Dim DefaultProject As ProjectParameters = Map.refGeneralParametersStrategyVM.GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectParameters.sName)
Friend Sub ReadConfiguration(ProjectParameters As JsonParameters, GeneralParametersList As ObservableCollection(Of ProjectParameters))
Dim DefaultProject As ProjectParameters = GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectParameters.sName)
If IsNothing(DefaultProject) Then
' verifico indici!!
Else
@@ -507,7 +506,6 @@ Public Class BooleanGenericParameter
Friend Sub SetbIsBooleanModify(value As Boolean)
m_bIsBooleanModify = value
If m_bIsBooleanModify Then
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
End If
NotifyPropertyChanged(NameOf(bIsBooleanModify))
@@ -604,7 +602,6 @@ Public Class DoubleGenericParameter
Friend Sub SetbIsDoubleModify(value As Boolean)
m_bIsDoubleModify = value
If m_bIsDoubleModify Then
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
End If
NotifyPropertyChanged(NameOf(bIsDoubleModify))
@@ -681,7 +678,6 @@ Public Class StringGenericParameter
Friend Sub SetbIsStringModify(value As Boolean)
m_bIsStringModify = value
If m_bIsStringModify Then
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
End If
NotifyPropertyChanged(NameOf(bIsStringModify))
@@ -771,7 +767,6 @@ Public Class ComboGenericParameter
Friend Sub SetbIsComboBoxModify(value As Boolean)
m_bIsComboBoxModify = value
If m_bIsComboBoxModify Then
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
End If
NotifyPropertyChanged(NameOf(bIsComboBoxModify))
@@ -928,7 +923,6 @@ Public Class ListGenericParameter
Friend Sub SetbIsListModify(value As Boolean)
m_bIsListModify = value
If m_bIsListModify Then
Map.refProjectVM.BTLStructureVM.SetGeneralParameters("pack://application:,,,/Resources/NewPage/modify_adjustment.png")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
End If
NotifyPropertyChanged(NameOf(bIsListModify))
@@ -60,7 +60,7 @@
CommandParameter="{Binding Path=Name}"
ToolTip="{Binding Tag.Data_ToolTip, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
Style="{StaticResource BTLPartList_Button}">
<Image Source="{Binding Tag.GeneralParameters, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
<Image Source="/Resources/NewPage/adjustment.png"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Tag.AddPart_Command, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
@@ -51,7 +51,7 @@ Public Class MainWindowV
If WindowState <> WindowState.Minimized Then
WinPosFromWindowToIni(Me, S_GENERAL, K_VIEWOPTIMWINPLACE)
End If
m_MainWindowVM.CloseApplication()
m_MainWindowVM.CloseApplication(e)
End Sub
Private Sub MainWindowV_KeyDown(sender As Object, e As KeyEventArgs)
@@ -363,7 +363,7 @@ Public Class MainWindowVM
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub CloseApplication()
Public Sub CloseApplication(e As System.ComponentModel.CancelEventArgs)
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
Return
End If
@@ -391,7 +391,10 @@ Public Class MainWindowVM
bOk = ProdFileVM.VerifyProjectModification(ProjectManagerVM.CurrProd) <> MessageBoxResult.Cancel
End Select
' se salvataggio annullato, rimango
If Not bOk Then Return
If Not bOk Then
e.Cancel = True
Return
End If
Dim bAllowClose As Boolean = Map.refSceneHostVM.MainController.ManageModified()
' Salvo impostazione macchina corrente
Map.refMachinePanelVM.SaveCurrentMachine()
@@ -67,5 +67,5 @@ Imports System.Windows
' Revision
'
<Assembly: AssemblyVersion("3.1.0.6")>
<Assembly: AssemblyFileVersion("3.1.0.6")>
<Assembly: AssemblyVersion("3.1.0.7")>
<Assembly: AssemblyFileVersion("3.1.0.7")>
@@ -60,6 +60,7 @@
<ComboBox Grid.ColumnSpan="2"
ItemsSource="{Binding StrategySetupList}"
SelectedItem="{Binding SelStrategySetup, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding GeneralParametersIsEnable}"
Style="{StaticResource StrategySetup_ComboBox}"/>
<OPTIMIZER:ProjectParametersV Grid.Row="1"
Tag="{Binding GeneralParametersList}"
@@ -680,6 +680,10 @@ Public Class ProdManagerVM
GeneralParametersWndVM.SetbSaveGeneralParameters(True)
GeneralParametersWndVM.SaveProjectParameters()
m_BTLDataWnd = New BTLDataWndVM()
m_BTLDataWnd.Read(nProjId)
m_BTLDataWnd.SaveInfoBTL()
' Controllo se effettuare import + verifica
If Map.refConfigurationPageVM.bVerifyImportBTL_IsChecked Then
' Eseguo procedura
@@ -825,6 +829,9 @@ Public Class ProdManagerVM
GeneralParametersWndVM.SetbSaveGeneralParameters(True)
GeneralParametersWndVM.SaveProjectParameters()
m_BTLDataWnd = New BTLDataWndVM(nProjId)
m_BTLDataWnd.SaveInfoBTL()
' Controllo se effettuare import + verifica
If Map.refConfigurationPageVM.bVerifyImportBTL_IsChecked Then
' Eseguo procedura
@@ -1058,7 +1065,6 @@ Public Class ProdManagerVM
' Procedo a seconda del risultato
LoadingWndHelper.UpdateLoadingWnd(ActiveIds.OPENPROD, 2, EgtMsg(63005), 50, 70) ' Loading part list
m_BTLDataWnd = New BTLDataWndVM(TempCurrProd)
' leggo struttura BTL
Map.refProjectVM.BTLStructureVM = New BTLStructureVM(BTLStructureM.CreateBTLStructure(0))
@@ -1078,6 +1084,7 @@ Public Class ProdManagerVM
' imposto progetto corrente
Dim OldProd As ProdFileVM = ProjectManagerVM.CurrProd
ProjectManagerVM.CurrProd = TempCurrProd
m_BTLDataWnd = New BTLDataWndVM(TempCurrProd.nProdId)
DbControllers.m_ProdController.LockByProdId(ProjectManagerVM.CurrProd.nProdId, True, Map.refMainWindowVM.MainWindowM.GetKeyNumber())
' recupero indice di modifica progetto quando caricato
Dim CommIndex As Integer = -1
@@ -320,8 +320,10 @@ Public Class ProjectVM
m_bSaveGeneralParameters = value
If m_bSaveGeneralParameters Then
SetGeneralParametersIsEnable(True)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Visible)
Else
SetGeneralParametersIsEnable(False)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Collapsed)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
@@ -363,6 +365,12 @@ Public Class ProjectVM
Return m_SelStrategySetup
End Get
Set(value As String)
If Not IsNothing(value) Then
EgtSetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, AI_SETUP, value)
Map.refStrategyManagerVM.SelStrategySetup.sName = value
Map.refStrategyManagerVM.SelStrategySetup.Read()
Map.refSceneHostVM.SaveProject()
End If
m_SelStrategySetup = value
NotifyPropertyChanged(NameOf(SelStrategySetup))
End Set
@@ -559,6 +567,36 @@ Public Class ProjectVM
EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
End Sub
Friend Sub ResetGeneralParameters()
Dim sInfo As String = String.Empty
For Each PartItem As BTLPartVM In Map.refProjectVM.BTLStructureVM.BTLPartVMList
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(DoubleGenericParameter)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(ComboGenericParameter)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(StringGenericParameter)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge)
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge & "_FORCED")
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge)
End If
Next
EgtRemoveInfo(PartItem.nPartId, GeneralParameter.sNameNge & "_FORCED")
End Select
Next
Next
End Sub
#End Region ' Methods
#Region "COMMAND"
@@ -168,7 +168,7 @@ Public Class SaveAsStrategyVM
Map.refStrategyManagerVM.SelStrategySetup = Strategy
Map.refStrategyManagerVM.StrategySetupList.Add(Strategy)
If m_bSave_Visibility = Visibility.Visible Then
Map.refStrategyManagerVM.SelStrategySetup.Write()
Map.refStrategyManagerVM.SelStrategySetup.Write(Map.refGeneralParametersStrategyVM.GeneralParametersList)
Map.refStrategyManagerVM.SetbIsModifyStrategy(False)
Else
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
@@ -265,7 +265,7 @@ Public Class StrategyManagerVM
If Not m_bIsModifyStrategy Then Return
' Chiede conferma per il salvataggio
If MessageBox.Show("Il file Json è stato modificato. Vuoi salvarlo?", EgtMsg(15003), MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
m_SelStrategySetup.Write()
m_SelStrategySetup.Write(Map.refGeneralParametersStrategyVM.GeneralParametersList)
End If
End Sub
@@ -438,11 +438,15 @@ Public Class StrategyManagerVM
''' <summary>
''' Funzione che salva il file json CustomerConfig
''' </summary>
Public Sub Save()
Public Sub Save(GeneralParametersList As ObservableCollection(Of ProjectParameters))
If IsNothing(m_SelStrategySetup) Then
OpenFileNameCustomConfig()
End If
m_SelStrategySetup.Write()
If IsNothing(GeneralParametersList) Then
Dim GeneralParametersVM As New GeneralParametersStrategyVM()
GeneralParametersList = GeneralParametersVM.GeneralParametersList
End If
m_SelStrategySetup.Write(GeneralParametersList)
SetbIsModifyStrategy(False)
End Sub
@@ -691,19 +695,16 @@ Public Class StrategySetup
End If
End Sub
Friend Sub Write()
Friend Sub Write(GeneralParametersStrategyList As ObservableCollection(Of ProjectParameters))
Dim JsonFromStrategyManager As New List(Of JsonStrategyFeature)
For Each StrategyFeature In m_StrategyFeatureList
JsonFromStrategyManager.Add(StrategyFeature.Serialize())
Next
' Dim JsonFromStrategy As String = JsonConvert.SerializeObject(JsonFromStrategyManager, Formatting.Indented)
Dim JsonProjectParameters As New List(Of JsonParametersHelper)
If Not IsNothing(Map.refGeneralParametersStrategyVM) Then
For Each ParamItem In Map.refGeneralParametersStrategyVM.GeneralParametersList
JsonProjectParameters.Add(ParamItem.Serialize())
Next
End If
For Each ParamItem In GeneralParametersStrategyList
JsonProjectParameters.Add(ParamItem.Serialize())
Next
' Unisco i quattro json in un solo file
Dim CombinedJson = New With {.GENERAL = JsonProjectParameters,
@@ -590,6 +590,11 @@
<Setter Property="Width" Value="20"/>
</Style>
<Style x:Key="WAutoWnd_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource Optimizer_Button}">
<Setter Property="Height" Value="20"/>
<Setter Property="Margin" Value="20,0,0,0"/>
</Style>
<Style x:Key="RawPart_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource Optimizer_Button}">
<Setter Property="Height" Value="18"/>
<Setter Property="Width" Value="25"/>
@@ -654,6 +659,10 @@
<Setter Property="Margin" Value="0,0,0,5"/>
</Style>
<Style x:Key="OKBTLDataWnd_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource BTLDataWnd_Button}">
<Setter Property="Margin" Value="0,0,5,5"/>
</Style>
<Style x:Key="GeneralParametersWnd_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource Optimizer_Button}">
<Setter Property="VerticalAlignment" Value="Bottom"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
@@ -187,13 +187,13 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0"
Style="{StaticResource AddPart_Grid}">
<Grid Style="{StaticResource AddPart_Grid}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="2"
Content="+"
@@ -203,6 +203,12 @@
Content="-"
Command="{Binding RemoveMediumParam_Command}"
Style="{StaticResource WWnd_Button}"/>
<Button Grid.Column="4"
Content="AUTO"
Command="{Binding AddAllParam_Command}"
Style="{StaticResource WAutoWnd_Button}"/>
</Grid>
<EgwWPFBaseLib:EgwDataGrid Grid.Row="1"
ItemsSource="{Binding SParamList}"
@@ -263,7 +263,7 @@ Public Class WarehouseWndVM
End Set
End Property
Private m_SectionXMaterialList_View As CollectionView = Nothing
Friend m_SectionXMaterialList_View As CollectionView = Nothing
Private m_SectionXMaterialList As New ObservableCollection(Of SectionXMaterial)
Public Property SectionXMaterialList As ObservableCollection(Of SectionXMaterial)
Get
@@ -429,6 +429,7 @@ Public Class WarehouseWndVM
Private m_cmdRemoveMediumParam As ICommand
Private m_cmdAddWhWallParam As ICommand
Private m_cmdRemoveWhWallParam As ICommand
Private m_cmdAddAllParam As ICommand
#End Region ' FIELDS & PROPERTIES
@@ -937,11 +938,12 @@ Public Class WarehouseWndVM
Public Sub AddMediumParam()
Dim nQuantity As Integer = GetMainPrivateProfileInt(S_WAREHOUSE, K_DEFAULTQUANTITY, 1)
Dim nLength As Integer = GetMainPrivateProfileInt(S_WAREHOUSE, K_DEFAULTLENGTH, 1)
Dim NewSParam As SParam = Nothing
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
NewSParam = New SParam(Nothing, 0, nQuantity, True)
NewSParam = New SParam(Nothing, nLength, nQuantity, True)
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
NewSParam = New SParam(Nothing, 0, 0, nQuantity, True)
NewSParam = New SParam(Nothing, 0, nLength, nQuantity, True)
End If
' setto il valore selezionato della CmBx al primo elemento della lista e assegno NewSParam alla lista degli SParam
If Not IsNothing(NewSParam) Then
@@ -954,6 +956,38 @@ Public Class WarehouseWndVM
#End Region ' AddMediumParam
#Region "AddAllParam"
Public ReadOnly Property AddAllParam_Command As ICommand
Get
If m_cmdAddAllParam Is Nothing Then
m_cmdAddAllParam = New Command(AddressOf AddAllParam)
End If
Return m_cmdAddAllParam
End Get
End Property
Public Sub AddAllParam()
Dim nQuantity As Integer = GetMainPrivateProfileInt(S_WAREHOUSE, K_DEFAULTQUANTITY, 1)
Dim nLength As Integer = GetMainPrivateProfileInt(S_WAREHOUSE, K_DEFAULTLENGTH, 1)
Dim NewSParam As SParam = Nothing
For Each SectX As SectionXMaterial In Map.refWarehouseWndVM.m_SectionXMaterialList_View
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
NewSParam = New SParam(SectX, nLength, nQuantity, True)
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
NewSParam = New SParam(SectX, 0, nLength, nQuantity, True)
End If
' setto il valore selezionato della CmBx al primo elemento della lista e assegno NewSParam alla lista degli SParam
If Not IsNothing(NewSParam) Then
SParamList.Add(NewSParam)
m_SelSParam = NewSParam
NotifyPropertyChanged(NameOf(SelSParam))
End If
Next
End Sub
#End Region ' AddAllParam
#Region "RemoveMediumParam"
Public ReadOnly Property RemoveMediumParam_Command As ICommand