Represents the CICA document called Tow Status Document.

Namespace:  BargeEx
Assembly:  BargeEx (in BargeEx.dll)
Version: 3.0.400.140 (3.0.400.140)

Syntax

C#
[SerializableAttribute]
public class TowStatus : UpdatableBargeExDocumentBase
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class TowStatus _
	Inherits UpdatableBargeExDocumentBase
Visual C++
[SerializableAttribute]
public ref class TowStatus : public UpdatableBargeExDocumentBase

Remarks

The Barge Tow Diagram Document provides a means for a marine trading partner to transmit a barge tow configuration, including vessel details, position in the tow, and current location to another marine trading partner.

The TowString and TowCut properties of the Boat and Barge class instances should be set as described below:

  • The line boat should always have its TowString and TowCut properties set to zero (0).
  • Any hip tows on the port side of the line boat should have their TowCut property set to zero (0) and their TowString property set so that the hip tow closest to the line boat has a TowString of -1, the next closest port hip tow has a TowString of -2, etc.
  • Any hip tows on the starboard side of the line boat should have their TowCut property set to zero (0) and their TowString property set so that the hip tow closest to the line boat has a TowString of +1, the next closest starboard hip tow has a TowString of +2, etc.
  • The boats and barges that make up the tow should be numbered so that the port-most vessel in the cut closest to the line boat has a TowString of 1 and a TowCut of 1.

The following diagrams demonstrates how the TowString and TowCut properties of the Boat and Barge class instances should be set:

Port (-) Hip Tow
(-1, 0)
Barge 001
(1, 1)
Barge 002
(1, 2)
Line Boat
(0, 0)
Barge 003
(2, 1)
Barge 004
(2, 2)
Barge 005
(2, 3)
Starboard (+) Hip Tow
(1, 0)
Barge 006
(3, 1)
Barge 007
(3, 2)
Barge 008
(3, 3)
(String, Cut) Barge 009
(4, 1)
Barge 010
(4, 2)
Barge 011
(4, 3)

Port (-) Barge 001
(1, 1)
Barge 002
(1, 2)
Line Boat
(0, 0)
Barge 003
(2, 1)
Barge 004
(2, 2)
Barge 005
(2, 3)
Starboard (+)
(String, Cut)
Barge 006
(3, 1)
Barge 007
(3, 2)
Barge 008
(3, 3)

Port (-) Hip Tow
(-2, 0)
Barge 001
(1, 1)
Barge 002
(1, 2)
Barge 003
(1, 3)
Hip Tow
(-1, 0)
Barge 004
(2, 1)
Barge 005
(2, 2)
Line Boat
(0, 0)
Barge 006
(3, 1)
Barge 007
(3, 2)
Barge 008
(3, 3)
Starboard (+) Hip Tow
(1, 0)
Barge 009
(4, 1)
Barge 010
(4, 2)
Barge 011
(4, 3)
(String, Cut) Barge 012
(5, 1)
Barge 013
(5, 2)
Barge 014
(5, 3)

Examples

The following example creates an instance of the BargeEx TowStatus class and sets its common properties.
CopyVisual Basic
' Create a new BargeEx TowStatus object
Dim TowStatus As New BargeEx.TowStatus()

' Barge object
Dim Barge As New BargeEx.Barge()

' Boat object
Dim Boat As New BargeEx.Boat()

' Update the TowStatus properties before
' returning the object to the user
With TowStatus

    ' Update the DocumentHeader property
    .Header.SenderTradingPartnerNumber = "12345678"
    .Header.ReceiverTradingPartnerNumber = "87654321"
    .Header.InstanceIdentifier = "ABC123"
    .Header.CreateDateTime = DateTime.Parse("01/01/2008 16:00")

    ' Set the ApplicationHeader properties
    .CreateDateTime = DateTime.Parse("01/01/2008 16:00")
    .TransactionIdentifier = "ABC123"
    .PurposeCode = BargeEx.CicaTransactionPurposeCode.NewTransaction
    .Note = "BargeStatus test note."
    .ResponsibleLocationName = "Fleeter ABC"

    ' Set the date time property
    .DateTime = DateTime.Parse("01/01/2008 16:00")

    ' Set Waterway properties
    .WaterwayName = "Ohio River"
    .WaterwayMile = 123

    ' If a Tow Diagram image has been selected
    If System.IO.File.Exists("C:\TowDiagram.jpg") Then

        ' Set the Tow Diagram Image property using the Load method
        .TowDiagramImage.Load("C:\TowDiagram.jpg")

    End If

    ' Update the Barge's properties
    With Barge

        .Name = "CSG123"

        ' Set the Barge Attributes
        ' HullType
        .HullType = BargeEx.CicaBargeHullType.Box

        ' SizeCategory
        .SizeCategory = BargeEx.CicaBargeSizeCategory.Jumbo

        ' Dimensions
        .Length = 195
        .Width = 35
        .HullDepth = 14

        ' BargeType
        .BargeType = BargeEx.CicaBargeType.Deck

        ' CoverType
        .CoverType = BargeEx.CicaBargeCoverType.FiberLift

        ' Set the Current State properties
        ' Tow Position
        .TowString = 0
        .TowCut = 1

        ' LoadStatus
        .LoadStatus = BargeEx.CicaBargeCurrentLoadStatus.Loaded

        ' RakeDirection
        .RakeDirection = BargeEx.CicaBargeRakeDirection.Up

        ' CoverConfiguration
        .CoverConfiguration = BargeEx.CicaBargeCoverConfiguration.Open

        ' Commodity
        .CurrentCommodityName = "Coal"

    End With ' Barge


    ' Add the Barge to the list
    .Barges.Add(Barge)

    ' Update the Boat's properties
    With Boat

        .Name = "Henry"

        ' Set Size properties
        .Length = 250
        .Width = 55
        .HullDepth = 9

        ' Set Tow Position properties
        .TowString = 0
        .TowCut = 0

    End With

    ' Add the Boat to the list
    .Boats.Add(Boat)

End With ' TowStatus
CopyC#
// Create a new BargeEx TowStatus object
BargeEx.TowStatus TowStatus = new BargeEx.TowStatus();

// Barge object
BargeEx.Barge Barge = new BargeEx.Barge();

// Boat object
BargeEx.Boat Boat = new BargeEx.Boat();

// Update the TowStatus properties before
// returning the object to the user

// Update the DocumentHeader property
TowStatus.Header.SenderTradingPartnerNumber = "12345678";
TowStatus.Header.ReceiverTradingPartnerNumber = "87654321";
TowStatus.Header.InstanceIdentifier = "ABC123";
TowStatus.Header.CreateDateTime = DateTime.Parse("01/01/2008 16:00");

// Set the ApplicationHeader properties
TowStatus.CreateDateTime = DateTime.Parse("01/01/2008 16:00");
TowStatus.TransactionIdentifier = "ABC123";
TowStatus.PurposeCode = BargeEx.CicaTransactionPurposeCode.NewTransaction;
TowStatus.Note = "BargeStatus test note.";
TowStatus.ResponsibleLocationName = "Fleeter ABC";

// Set the date time property
TowStatus.DateTime = DateTime.Parse("01/01/2008 16:00");

// Set Waterway properties
TowStatus.WaterwayName = "Ohio River";
TowStatus.WaterwayMile = 123;

// If a Tow Diagram image has been selected
if (System.IO.File.Exists("C:\\TowDiagram.jpg"))
{
    // Set the Tow Diagram Image property using the Load method
    TowStatus.TowDiagramImage.Load("C:\\TowDiagram.jpg");
}

// Update the Barge's properties
Barge.Name = "CSG123";

// Set the Barge Attributes
// HullType
Barge.HullType = BargeEx.CicaBargeHullType.Box;

// SizeCategory
Barge.SizeCategory = BargeEx.CicaBargeSizeCategory.Jumbo;

// Dimensions
Barge.Length = 195;
Barge.Width = 35;
Barge.HullDepth = 14;

// BargeType
Barge.BargeType = BargeEx.CicaBargeType.Deck;

// CoverType
Barge.CoverType = BargeEx.CicaBargeCoverType.FiberLift;

// Set the Current State properties
// Tow Position
Barge.TowString = 0;
Barge.TowCut = 1;

// LoadStatus
Barge.LoadStatus = BargeEx.CicaBargeCurrentLoadStatus.Loaded;

// RakeDirection
Barge.RakeDirection = BargeEx.CicaBargeRakeDirection.Up;

// CoverConfiguration
Barge.CoverConfiguration = BargeEx.CicaBargeCoverConfiguration.Open;

// Commodity
Barge.CurrentCommodityName = "Coal";

// Add the Barge to the list
TowStatus.Barges.Add(Barge);

// Update the Boat's properties
Boat.Name = "Henry";

// Set Size properties
Boat.Length = 250;
Boat.Width = 55;
Boat.HullDepth = 9;

// Set Tow Position properties
Boat.TowString = 0;
Boat.TowCut = 0;

// Add the Boat to the list
TowStatus.Boats.Add(Boat);

Inheritance Hierarchy

See Also