diff --git a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
index bb1e5b00..cd09f6fd 100644
--- a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
+++ b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
@@ -146,6 +146,7 @@
+
OpenProjectFileDialogV.xaml
@@ -158,6 +159,7 @@
+
diff --git a/EgtBEAMWALL.Core/Utility/Material.vb b/EgtBEAMWALL.Core/Utility/Material.vb
new file mode 100644
index 00000000..909df152
--- /dev/null
+++ b/EgtBEAMWALL.Core/Utility/Material.vb
@@ -0,0 +1,62 @@
+Imports System.Windows
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Public Class MaterialM
+
+ Protected m_Material As String
+ Public ReadOnly Property sMaterial As String
+ Get
+ Return m_Material
+ End Get
+ End Property
+
+ Protected m_dW As Double = 0
+ Public ReadOnly Property dW As Double
+ Get
+ Return m_dW
+ End Get
+ End Property
+
+ Protected m_dH As Double = 0
+ Public ReadOnly Property dH As Double
+ Get
+ Return m_dH
+ End Get
+ End Property
+
+ Protected m_dL As Double = 0
+ Public ReadOnly Property dL As Double
+ Get
+ Return m_dL
+
+ End Get
+ End Property
+
+ Shared Operator =(ByVal S1 As MaterialM, ByVal S2 As MaterialM) As Boolean
+ Return (Math.Abs(S1.m_dH - S2.m_dH) < 100 * EPS_SMALL AndAlso
+ Math.Abs(S1.m_dW - S2.m_dW) < 100 * EPS_SMALL AndAlso
+ Math.Abs(S1.m_dL - S2.m_dL) < 100 * EPS_SMALL AndAlso
+ S1.m_Material = S2.m_Material)
+ End Operator
+
+ Shared Operator <>(ByVal S1 As MaterialM, ByVal S2 As MaterialM) As Boolean
+ Return Not S1 = S2
+ End Operator
+
+ Public Overrides Function Equals(ByVal obj As Object) As Boolean
+ If TypeOf obj Is MaterialM Then
+ Return Me = DirectCast(obj, MaterialM) '(m_dH = obj.dH AndAlso m_dW = obj.dW AndAlso m_dL = obj.dL AndAlso m_Material.Any(Function(x) DirectCast(obj.sMaterial, List(Of String)).Any(Function(y) y = x)))
+ End If
+ Return False
+ End Function
+
+ Sub New(dW As Double, dH As Double, dL As Double, sMaterial As String)
+ m_dW = dW
+ m_dH = dH
+ m_dL = dL
+ m_Material = sMaterial
+ End Sub
+
+End Class
+
diff --git a/EgtBEAMWALL.Core/Utility/RawPart.vb b/EgtBEAMWALL.Core/Utility/RawPart.vb
new file mode 100644
index 00000000..f69b108d
--- /dev/null
+++ b/EgtBEAMWALL.Core/Utility/RawPart.vb
@@ -0,0 +1,65 @@
+Imports EgtWPFLib5
+
+Public Class RawPartM
+ Inherits VMBase
+
+ Private m_bActive As Boolean
+ Public Property bActive As Boolean
+ Get
+ Return m_bActive
+ End Get
+ Set(value As Boolean)
+ m_bActive = value
+ End Set
+ End Property
+
+ Private m_SectXMat As MaterialM
+ Public Property SectXMat As MaterialM
+ Get
+ Return m_SectXMat
+ End Get
+ Set(value As MaterialM)
+ m_SectXMat = value
+ End Set
+ End Property
+
+ Private m_dW As Double
+ Public Property dW As Double
+ Get
+ Return m_dW
+ End Get
+ Set(value As Double)
+ m_dW = value
+ End Set
+ End Property
+
+ Private m_dL As Double
+ Public Property dL As Double
+ Get
+ Return m_dL
+ End Get
+ Set(value As Double)
+ m_dL = value
+ End Set
+ End Property
+
+ Private m_nQuantity As Integer
+ Public Property nQuantity As Integer
+ Get
+ Return m_nQuantity
+ End Get
+ Set(value As Integer)
+ m_nQuantity = value
+ End Set
+ End Property
+
+ Sub New(SxM As MaterialM, W As Double, L As Double, Qty As Integer, Active As Boolean)
+ m_SectXMat = SxM
+ m_dW = W
+ m_dL = L
+ m_nQuantity = Qty
+ m_bActive = Active
+ End Sub
+
+End Class
+
diff --git a/EgtBEAMWALL.Core/Utility/SectionXMaterial.vb b/EgtBEAMWALL.Core/Utility/SectionXMaterial.vb
index ca6d6663..3c86b687 100644
--- a/EgtBEAMWALL.Core/Utility/SectionXMaterial.vb
+++ b/EgtBEAMWALL.Core/Utility/SectionXMaterial.vb
@@ -15,8 +15,8 @@ Public Class SectionXMaterial
m_nType = nType
End Sub
- Protected m_Material As List(Of String)
- Public ReadOnly Property sMaterial As List(Of String)
+ Protected m_Material As String
+ Public ReadOnly Property sMaterial As String
Get
Return m_Material
End Get
@@ -42,50 +42,46 @@ Public Class SectionXMaterial
End Set
End Property
- Protected m_dW As Double = 0
+ Protected m_MaterialM As MaterialM
+ Public ReadOnly Property MaterialM As MaterialM
+ Get
+ Return m_MaterialM
+ End Get
+ End Property
+
Public ReadOnly Property dW As Double
Get
- Return m_dW
+ Return m_MaterialM.dW
End Get
End Property
- Protected m_dH As Double = 0
Public ReadOnly Property dH As Double
Get
- Return m_dH
+ Return m_MaterialM.dH
End Get
End Property
- Protected m_dL As Double = 0
Public ReadOnly Property dL As Double
Get
- Return m_dL
+ Return m_MaterialM.dL
End Get
End Property
Public ReadOnly Property sSectionXMaterial As String
Get
- Dim sAlias As String = String.Empty
- For Each sMatItem In sMaterial
- sAlias &= sMatItem & ";"
- Next
- sAlias = sAlias.TrimEnd(";")
If Me = Empty Then
Return ""
ElseIf m_nType = MachineType.BEAM Then
- Return LenToString(m_dW, 3) & " x " & LenToString(m_dH, 3) & " " & sAlias
+ Return LenToString(m_MaterialM.dW, 3) & " x " & LenToString(m_MaterialM.dH, 3) & " " & sMaterial
ElseIf m_nType = MachineType.WALL Then
- Return LenToString(m_dH, 3) & " " & sAlias
+ Return LenToString(m_MaterialM.dH, 3) & " " & sMaterial
Else Return ""
End If
End Get
End Property
Shared Operator =(ByVal S1 As SectionXMaterial, ByVal S2 As SectionXMaterial) As Boolean
- Return (Math.Abs( S1.m_dH - S2.m_dH) < 100 * EPS_SMALL AndAlso
- Math.Abs( S1.m_dW - S2.m_dW) < 100 * EPS_SMALL AndAlso
- Math.Abs( S1.m_dL - S2.m_dL) < 100 * EPS_SMALL AndAlso
- S1.m_Material.Any(Function(x) S2.m_Material.Any(Function(y) y = x)))
+ Return S1.m_MaterialM = S2.m_MaterialM
End Operator
Shared Operator <>(ByVal S1 As SectionXMaterial, ByVal S2 As SectionXMaterial) As Boolean
@@ -101,20 +97,13 @@ Public Class SectionXMaterial
Sub New(dW As Double, dH As Double, dL As Double, sMaterial As String)
If m_nType = BWType.BEAM Then
- m_dW = dW
- m_dH = dH
+ m_MaterialM = New MaterialM(dW, dH, 0, sMaterial)
ElseIf m_nType = BWType.WALL Then
- m_dH = dH
+ m_MaterialM = New MaterialM(0, dH, 0, sMaterial)
Else
- m_dW = dW
- m_dH = dH
- m_dL = dL
+ m_MaterialM = New MaterialM(dW, dH, dL, sMaterial)
End If
- m_Material = New List(Of String)
- Dim sMaterialArray() As String = Split(sMaterial, ";")
- For Each sMatItem In sMaterialArray
- m_Material.Add(sMatItem)
- Next
+ m_Material = sMaterial
End Sub
Public Shared Empty As New SectionXMaterial(-1, -1, -1, "")
@@ -197,20 +186,13 @@ Public Class SectionXMaterial
Sub New(dW As Double, dH As Double, dL As Double, sMaterial As String, nQuantity As Integer)
If m_nType = BWType.BEAM Then
- m_dW = dW
- m_dH = dH
+ m_MaterialM = New MaterialM(dW, dH, 0, sMaterial)
ElseIf m_nType = BWType.WALL Then
- m_dH = dH
+ m_MaterialM = New MaterialM(0, dH, 0, sMaterial)
Else
- m_dW = dW
- m_dH = dH
- m_dL = dL
+ m_MaterialM = New MaterialM(dW, dH, dL, sMaterial)
End If
- m_Material = New List(Of String)
- Dim sMaterialArray() As String = Split(sMaterial, ";")
- For Each sMatItem In sMaterialArray
- m_Material.Add(sMatItem)
- Next
+ m_Material = sMaterial
m_nQuantity = nQuantity
End Sub
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb
index 878e496d..e5215380 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb
@@ -452,25 +452,15 @@ Public Class BTLPartVM
OldSection = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x = Section)
End If
m_BTLPartM.sMATERIAL = value
- ' aggiorno sezione
- If bOtherSection Then
- ' se sezione nuova non presente
- If Not Map.refProjectVM.BTLStructureVM.SectionList.Contains(Section) Then
- ' creo nuova sezione
- Map.refProjectVM.BTLStructureVM.SectionList.Add(Section)
- End If
- Else
- ' se sezione nuova gia' presente
- If Map.refProjectVM.BTLStructureVM.SectionList.Contains(Section) Then
- ' cancello sezione vecchia
- Map.refProjectVM.BTLStructureVM.SectionList.Remove(OldSection)
- Else
- ' altrimenti la modifico
- If Not IsNothing(OldSection) Then
- OldSection.sMaterial.Clear()
- OldSection.sMaterial.Add(sMATERIAL)
- End If
- End If
+ ' se sezione nuova non presente
+ If Not Map.refProjectVM.BTLStructureVM.SectionList.Contains(Section) Then
+ ' creo nuova sezione
+ Map.refProjectVM.BTLStructureVM.SectionList.Add(Section)
+ End If
+ ' se sezione vecchia non utilizzata da altri pezzi
+ If Not bOtherSection Then
+ ' cancello sezione vecchia
+ Map.refProjectVM.BTLStructureVM.SectionList.Remove(OldSection)
End If
End If
NotifyPropertyChanged(NameOf(sMATERIAL))
@@ -2000,7 +1990,7 @@ Public Class BTLPartVM
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
If bUpdateSection AndAlso Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
' se esiste, imposto sezione inversa
- Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
+ Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial = CurrSection.sMaterial)
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
End If
End Sub
@@ -2031,7 +2021,7 @@ Public Class BTLPartVM
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
If bUpdateSection AndAlso Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
' se esiste, imposto sezione inversa
- Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
+ Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial = CurrSection.sMaterial)
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
End If
End Sub
diff --git a/EgtBEAMWALL.ViewerOptimizer/LeftPanel/LeftPanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/LeftPanel/LeftPanelVM.vb
index c7980a36..60f45c81 100644
--- a/EgtBEAMWALL.ViewerOptimizer/LeftPanel/LeftPanelVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/LeftPanel/LeftPanelVM.vb
@@ -1184,7 +1184,7 @@ Public Class LeftPanelVM
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
' se esiste, imposto sezione inversa
- Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
+ Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial = CurrSection.sMaterial)
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
End If
EgtDraw()
@@ -1228,7 +1228,7 @@ Public Class LeftPanelVM
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
' se esiste, imposto sezione inversa
- Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
+ Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial = CurrSection.sMaterial)
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
End If
EgtDraw()
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
index ae757482..129b53fc 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
@@ -298,7 +298,7 @@ Public Class StatisticsVM
Select Case Map.refProdManagerVM.CurrProd.nType
Case BWType.BEAM
For Each MachGroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
- Dim RawPart As SParam = m_RawPartList.FirstOrDefault(Function(x) x.SectXMat.dW = MachGroup.dW AndAlso x.SectXMat.dH = MachGroup.dH AndAlso x.dL = MachGroup.dL AndAlso x.SectXMat.sMaterial.Any(Function(y) MachGroup.Section.sMaterial.Any(Function(z) z = y)))
+ Dim RawPart As SParam = m_RawPartList.FirstOrDefault(Function(x) x.SectXMat.dW = MachGroup.dW AndAlso x.SectXMat.dH = MachGroup.dH AndAlso x.dL = MachGroup.dL AndAlso x.SectXMat.sMaterial = MachGroup.Section.sMaterial)
If Not IsNothing(RawPart) Then
RawPart.nQuantity += 1
Else
@@ -307,7 +307,7 @@ Public Class StatisticsVM
Next
Case BWType.WALL
For Each MachGroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
- Dim RawPart As SParam = m_RawPartList.FirstOrDefault(Function(x) x.dW = MachGroup.dW AndAlso x.SectXMat.dH = MachGroup.dH AndAlso x.dL = MachGroup.dL AndAlso x.SectXMat.sMaterial.Any(Function(y) MachGroup.Section.sMaterial.Any(Function(z) z = y)))
+ Dim RawPart As SParam = m_RawPartList.FirstOrDefault(Function(x) x.dW = MachGroup.dW AndAlso x.SectXMat.dH = MachGroup.dH AndAlso x.dL = MachGroup.dL AndAlso x.SectXMat.sMaterial = MachGroup.Section.sMaterial)
If Not IsNothing(RawPart) Then
RawPart.nQuantity += 1
Else
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/DbControllers.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/DbControllers.vb
index a19d80b0..a429c4a0 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/DbControllers.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/DbControllers.vb
@@ -18,6 +18,7 @@ Public Module DbControllers
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
Public m_PartController As DataLayer.Controllers.PartController
+ Public m_MaterialsController As DataLayer.Controllers.MaterialsController
Sub Init()
End Sub
@@ -95,6 +96,7 @@ Public Module DbControllers
m_MachGroupController = New DataLayer.Controllers.MachGroupController
m_StatusMapController = New DataLayer.Controllers.StatusMapController
m_PartController = New DataLayer.Controllers.PartController
+ m_MaterialsController = New DataLayer.Controllers.MaterialsController
End Sub
End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/SectionXMaterialToBeAdded.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/SectionXMaterialToBeAdded.vb
index 789b9238..41a44329 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/SectionXMaterialToBeAdded.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/SectionXMaterialToBeAdded.vb
@@ -7,7 +7,7 @@ Public Class SectionXMaterialToBeAdded
Inherits SectionXMaterial
Sub New(SectXMat As SectionXMaterial)
- MyBase.New(SectXMat.dW, SectXMat.dH, SectXMat.dL, SectXMat.sMaterial(0))
+ MyBase.New(SectXMat.dW, SectXMat.dH, SectXMat.dL, SectXMat.sMaterial)
End Sub
Private m_Alias_IsChecked As Boolean
diff --git a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb
index 168599be..9b3e7d86 100644
--- a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb
@@ -165,8 +165,8 @@ Module WarehouseHelper
Dim dSectionW As Double = 0 : StringToDoubleAdv( SectionData(0), dSectionW)
Dim dSectionH As Double = 0 : StringToDoubleAdv( SectionData(1), dSectionH)
For Each SectionProgress In SectionList
- If Math.Abs( SectionProgress.Section.dW - dSectionW) < 0.1 AndAlso
- Math.Abs( SectionProgress.Section.dH - dSectionH) < 0.1 AndAlso SectionProgress.Section.sMaterial.Contains(SectionData(2)) Then
+ If Math.Abs(SectionProgress.Section.dW - dSectionW) < 0.1 AndAlso
+ Math.Abs(SectionProgress.Section.dH - dSectionH) < 0.1 AndAlso SectionProgress.Section.sMaterial = SectionData(2) Then
If Not StringToDoubleAdv(sSectionValues(1), dL) Then Continue While
If Not Integer.TryParse(sSectionValues(2), nQty) Then Continue While
If sSectionValues.Count >= 4 AndAlso Integer.TryParse(sSectionValues(3), nActive) Then
@@ -181,7 +181,7 @@ Module WarehouseHelper
Case BWType.WALL
Dim dSectionH As Double = 0 : StringToDoubleAdv( SectionData(0), dSectionH)
For Each SectionProgress In SectionList
- If Math.Abs( SectionProgress.Section.dH - dSectionH) < 0.1 AndAlso SectionProgress.Section.sMaterial.Contains(SectionData(1)) Then
+ If Math.Abs(SectionProgress.Section.dH - dSectionH) < 0.1 AndAlso SectionProgress.Section.sMaterial = SectionData(1) Then
If Not StringToDoubleAdv(sSectionValues(1), dW) Then Continue While
If Not StringToDoubleAdv(sSectionValues(2), dL) Then Continue While
If Not Integer.TryParse(sSectionValues(3), nQty) Then Continue While
@@ -263,7 +263,7 @@ Module WarehouseHelper
Dim sMaterial As String = sSectXMatValues(2)
StringToLenAdv(sSectXMatValues(0), dW)
StringToLenAdv(sSectXMatValues(1), dH)
- If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
+ If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial = sMaterial Then
If sSectXMatValues.Length <= 3 Then Return Nothing
Dim sValue As String = ""
If EgtUILib.GetPrivateProfileString(S_BEAM, "L" & sSectXMatValues(3), String.Empty, sValue, sWarehousePath) Then
@@ -294,7 +294,7 @@ Module WarehouseHelper
Dim dH As Double = 0
Dim sMaterial As String = sSectXMatValues(1)
StringToLenAdv(sSectXMatValues(0), dH)
- If SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
+ If SectXMat.dH = dH AndAlso SectXMat.sMaterial = sMaterial Then
If sSectXMatValues.Length <= 2 Then Return Nothing
Dim sValue As String = ""
If EgtUILib.GetPrivateProfileString(S_WALL, "S" & sSectXMatValues(2), String.Empty, sValue, sWarehousePath) Then
@@ -337,7 +337,7 @@ Module WarehouseHelper
Dim sMaterial As String = sSectXMatValues(2)
StringToLenAdv(sSectXMatValues(0), dW)
StringToLenAdv(sSectXMatValues(1), dH)
- If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
+ If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial = sMaterial Then
' recupero indice di SParam
Dim SParamIndex As Integer = 1
Dim sValue As String = ""
@@ -379,7 +379,7 @@ Module WarehouseHelper
Dim dH As Double = 0
Dim sMaterial As String = sSectXMatValues(1)
StringToLenAdv(sSectXMatValues(0), dH)
- If SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
+ If SectXMat.dH = dH AndAlso SectXMat.sMaterial = sMaterial Then
' recupero indice di SParam
Dim SParamIndex As Integer = 1
Dim sValue As String = ""
@@ -429,7 +429,7 @@ Module WarehouseHelper
Dim sMaterial As String = sSectionValues(2)
StringToLenAdv(sSectionValues(0), dW)
StringToLenAdv(sSectionValues(1), dH)
- If Section.dW = dW AndAlso Section.dH = dH AndAlso Section.sMaterial(0) = sMaterial Then
+ If Section.dW = dW AndAlso Section.dH = dH AndAlso Section.sMaterial = sMaterial Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Return nIndex
End If
@@ -437,7 +437,7 @@ Module WarehouseHelper
Dim dH As Double = 0
Dim sMaterial As String = sSectionValues(1)
StringToLenAdv(sSectionValues(0), dH)
- If Section.dH = dH AndAlso Section.sMaterial(0) = sMaterial Then
+ If Section.dH = dH AndAlso Section.sMaterial = sMaterial Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Return nIndex
End If
diff --git a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseWndVM.vb b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseWndVM.vb
index 251a4a84..58a2f541 100644
--- a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseWndVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseWndVM.vb
@@ -1104,7 +1104,7 @@ Public Class WarehouseWndVM
Dim dH As Double = 0
StringToLenAdv(sSectXMatValues(0), dW)
StringToLenAdv(sSectXMatValues(1), dH)
- If Not SectXMatList.Any(Function(x) x.dW = dW AndAlso x.dH = dH AndAlso x.sMaterial(0) = sSectXMatValues(2)) Then
+ If Not SectXMatList.Any(Function(x) x.dW = dW AndAlso x.dH = dH AndAlso x.sMaterial = sSectXMatValues(2)) Then
SectXMatList.Add(New SectionXMaterial(dW, dH, 0, sSectXMatValues(2)))
End If
sSectXMatIndex += 1
@@ -1118,7 +1118,7 @@ Public Class WarehouseWndVM
' creo parametro
Dim dH As Double = 0
StringToLenAdv(sSectXMatValues(0), dH)
- If Not SectXMatList.Any(Function(x) x.dH = dH AndAlso x.sMaterial(0) = sSectXMatValues(1)) Then
+ If Not SectXMatList.Any(Function(x) x.dH = dH AndAlso x.sMaterial = sSectXMatValues(1)) Then
SectXMatList.Add(New SectionXMaterial(0, dH, 0, sSectXMatValues(1)))
End If
sSectXMatIndex += 1
@@ -1149,7 +1149,7 @@ Public Class WarehouseWndVM
End While
WritePrivateProfileString(S_BEAM_LIST, sSectXMatIndex, LenToString(SectionXMaterial.dW, 3) & "," &
LenToString(SectionXMaterial.dH, 3) & "," &
- SectionXMaterial.sMaterial(0), sWarehousePath)
+ SectionXMaterial.sMaterial, sWarehousePath)
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
' ricavo SectionXMaterial tramite Wall_List
While EgtUILib.GetPrivateProfileString(S_WALL_LIST, sSectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
@@ -1162,7 +1162,7 @@ Public Class WarehouseWndVM
sSectXMatIndex += 1
End While
WritePrivateProfileString(S_WALL_LIST, sSectXMatIndex, LenToString(SectionXMaterial.dH, 3) & "," &
- SectionXMaterial.sMaterial(0), sWarehousePath)
+ SectionXMaterial.sMaterial, sWarehousePath)
End If
Return True
End Function
@@ -1496,7 +1496,7 @@ Public Class SParam
Public ReadOnly Property sMaterial As String
Get
- Return If(IsNothing(SectXMat), "", SectXMat.sMaterial(0))
+ Return If(IsNothing(SectXMat), "", SectXMat.sMaterial)
End Get
End Property