Files
OmagVIEWPlus/UnloadingArea/UnloadingAreaVM.vb
T
Emmanuele Sassi acb2c2b751 OmagVIEWPlus :
- correzioni lettura e scrittura variabili
- modificate immagini
2019-04-10 09:34:22 +00:00

172 lines
5.5 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class UnloadingAreaVM
Inherits VMBase
Private m_WarehouseList As New ObservableCollection(Of WarehouseVM)
Public ReadOnly Property WarehouseList As ObservableCollection(Of WarehouseVM)
Get
Return m_WarehouseList
End Get
End Property
Private m_ActiveWarehouse As Warehouses
Public ReadOnly Property ActiveWarehouse As Warehouses
Get
Return m_ActiveWarehouse
End Get
End Property
Private m_Table1CurrRow As Integer
Private m_Table1NRow As Integer
Public ReadOnly Property Table1Percentage As String
Get
Return DoubleToString(m_Table1CurrRow / m_Table1NRow * 100, 0) & "%"
End Get
End Property
Private m_TileType As Integer
Public ReadOnly Property TileType As String
Get
Return m_TileType.ToString
End Get
End Property
Private m_Table1Counter As Integer
Public ReadOnly Property Table1Counter As String
Get
Return m_Table1Counter.ToString
End Get
End Property
Private m_Table2Counter As Integer
Public ReadOnly Property Table2Counter As String
Get
Return m_Table2Counter.ToString
End Get
End Property
Public ReadOnly Property TableDifference As String
Get
Return (m_Table1Counter - m_Table2Counter).ToString
End Get
End Property
Private m_TileThickness As Double
Public ReadOnly Property TileThickness As String
Get
Return LenToString(m_TileThickness, 1)
End Get
End Property
Private m_LastSlab As Boolean
Public ReadOnly Property LastSlab As Boolean
Get
Return m_LastSlab
End Get
End Property
#Region "CONSTRUCTOR"
Sub New()
' Creo riferimento a questa classe in CompoWindowMap
Map.SetRefUnloadingAreaVM(Me)
m_WarehouseList.Add(New WarehouseVM(Warehouses.A))
m_WarehouseList.Add(New WarehouseVM(Warehouses.B))
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Friend Sub SetActiveWarehouse(ActiveWarehouse As Warehouses)
If ActiveWarehouse < 0 OrElse ActiveWarehouse > 2 Then
m_ActiveWarehouse = 0
Else
m_ActiveWarehouse = ActiveWarehouse
End If
If ActiveWarehouse = Warehouses.A Then
m_WarehouseList(GetWarehouseIndex(Warehouses.A)).SetIsActive(True)
m_WarehouseList(GetWarehouseIndex(Warehouses.B)).SetIsActive(False)
ElseIf ActiveWarehouse = Warehouses.B Then
m_WarehouseList(GetWarehouseIndex(Warehouses.A)).SetIsActive(False)
m_WarehouseList(GetWarehouseIndex(Warehouses.B)).SetIsActive(True)
Else
m_WarehouseList(GetWarehouseIndex(Warehouses.A)).SetIsActive(False)
m_WarehouseList(GetWarehouseIndex(Warehouses.B)).SetIsActive(False)
End If
End Sub
Friend Sub SetWarehouse_IsPallet(Warehouse As Warehouses, IsPallet As Boolean)
m_WarehouseList(GetWarehouseIndex(Warehouse)).SetIsPallet(IsPallet)
End Sub
Friend Sub SetBoxIsActive(BoxId As Integer)
If Not m_ActiveWarehouse > 0 AndAlso m_ActiveWarehouse <= 2 Then
m_WarehouseList(GetWarehouseIndex(Warehouses.A)).SetBoxIsActive(0)
m_WarehouseList(GetWarehouseIndex(Warehouses.A)).SetBoxIsActive(0)
Else
m_WarehouseList(GetWarehouseIndex(m_ActiveWarehouse)).SetBoxIsActive(BoxId)
End If
End Sub
Friend Sub SetBoxState(Warehouse As Warehouses, Id As Integer, State As States)
Dim x = GetWarehouseIndex(Warehouse)
m_WarehouseList(GetWarehouseIndex(Warehouse)).SetBoxState(Id, State)
End Sub
Friend Sub FillActiveBox(Livello As Integer, Riga As Integer)
If ActiveWarehouse = 0 Then Return
m_WarehouseList(GetWarehouseIndex(m_ActiveWarehouse)).FillActiveBox(Livello, Riga)
End Sub
Friend Sub MaxFillActiveBox(MaxLivello As Integer, MaxRiga As Integer)
If ActiveWarehouse = 0 Then Return
m_WarehouseList(GetWarehouseIndex(m_ActiveWarehouse)).MaxFillActiveBox(MaxLivello, MaxRiga)
End Sub
Friend Sub SetTableCounters(Table1Counter As Integer, Table2Counter As Integer)
m_Table1Counter = Table1Counter
m_Table2Counter = Table2Counter
NotifyPropertyChanged("TableDifference")
End Sub
Friend Sub SetTable2Counter(Table2Counter As Integer)
m_Table2Counter = Table2Counter
NotifyPropertyChanged("Table2Counter")
End Sub
Friend Sub SetTable1Percentage(Table1CurrRow As Integer, Table1NRow As Integer)
m_Table1CurrRow = Table1CurrRow
m_Table1NRow = Table1NRow
NotifyPropertyChanged("Table1Percentage")
End Sub
Friend Sub SetTileType(TyleType As Integer)
m_TileType = TyleType
NotifyPropertyChanged("TileType")
End Sub
Friend Sub SetTileThickness(TileThickness As Double)
m_TileThickness = TileThickness
NotifyPropertyChanged("TileThickness")
End Sub
Friend Sub SetLastSlab(LastSlab As Boolean)
m_LastSlab = LastSlab
NotifyPropertyChanged("LastSlab")
End Sub
Friend Shared Function GetWarehouseIndex(Warehouse As Warehouses) As Integer
If Warehouse = Warehouses.A Then
Return 0
ElseIf Warehouse = Warehouses.B Then
Return 1
Else
EgtOutLog("Warehouse index out of range")
Return 0
End If
End Function
#End Region ' METHODS
End Class