Files
egtbeamwall/EgtBEAMWALL.Core/Utility/Material.vb
T
Emmanuele Sassi cfabbc6eff - correzione su creazione Id delle lavorazioni
- gestione sezione ruotata
- corretto visibilita' colonna materiale
- migliorata gestione materiale nullo
- migliorata conversione file warehouse su Db
2024-07-02 10:55:48 +02:00

112 lines
3.0 KiB
VB.net

Imports System.Windows
Imports EgtUILib
Imports EgtWPFLib5
Public Class MaterialM
Protected m_nId As Integer = 0
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Public Sub SetId(nId As Integer)
m_nId = nId
End Sub
Protected m_sMaterial As String
Public ReadOnly Property sMaterial As String
Get
Return m_sMaterial
End Get
End Property
Public Sub SetMaterial(sMaterial As String)
m_sMaterial = sMaterial
End Sub
Protected m_sWarehouseMaterial As String
Public ReadOnly Property sWarehouseMaterial As String
Get
Return m_sWarehouseMaterial
End Get
End Property
Public Sub SetWarehouseMaterial(sWarehouseMaterial As String)
m_sWarehouseMaterial = sWarehouseMaterial
End Sub
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
If IsNothing(S1) OrElse IsNothing(S2) Then Return False
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_sWarehouseMaterial = S2.m_sWarehouseMaterial)
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_sMaterial = sMaterial
End Sub
Sub New(dW As Double, dH As Double, dL As Double, sMaterial As String, sWarehouseMaterial As String)
m_dW = dW
m_dH = dH
m_dL = dL
m_sMaterial = sMaterial
m_sWarehouseMaterial = sWarehouseMaterial
End Sub
' costruttore per DataLayer
Sub New(nId As Integer, dW As Double, dH As Double, dL As Double, sMaterial As String, sWarehouseMaterial As String)
m_nId = nId
m_dW = dW
m_dH = dH
m_dL = dL
m_sMaterial = sMaterial
m_sWarehouseMaterial = sWarehouseMaterial
End Sub
Public Sub Update(dW As Double, dH As Double, dL As Double, sMaterial As String)
m_dW = dW
m_dH = dH
m_dL = dL
m_sMaterial = sMaterial
End Sub
End Class