Imports UTS_Core.UTSModule.Station

Public Class GridNodeMoveLeftCommand : Implements ICommand
    Private ReadOnly grd As StationPlanGrid
    Private ReadOnly startMoveRow As Integer
    Private ReadOnly moveRows As Integer
    Private ReadOnly moveEndRow As Integer
    Private ReadOnly moveRightNodeIndex As Integer

    Sub New(grd As StationPlanGrid, startMoveRow As Integer, moveRows As Integer, moveEndRow As Integer, moveRightNodeIndex As Integer)
        Me.grd = grd
        Me.startMoveRow = startMoveRow
        Me.moveRows = moveRows
        Me.moveEndRow = moveEndRow
        Me.moveRightNodeIndex = moveRightNodeIndex
    End Sub

    Public Sub Redo() Implements ICommand.Redo
        grd.NodeMoveLeftCommand(startMoveRow, moveRows)
    End Sub

    Public Sub Undo() Implements ICommand.Undo
        grd.NodeMoveRightCommand(moveEndRow, moveRows, moveRightNodeIndex)
    End Sub
End Class
