using System;
using System.Collections.Generic;
using System.Text;
namespace Dfs.WayneChina.IMisPlus.Models
{
///
/// Settings/parameters of pump (fueling point) of legacy iFuel system.
///
public class Pump
{
#region Constructor
public Pump()
{
Nozzles = new List();
}
#endregion
///
/// Id of the pump.
/// Sps Field: `LgNode`, type: tinyint(1)
///
public byte Id { get; set; }
///
/// Type of dispenser, 0=Hengshan,1=TQC
/// Sps Field: `DspNo`, type: char(6).
///
public byte DispType { get; set; }
///
/// Type of the dispenser, Fuel dispenser or CNG or LNG dispenser.
/// ** This is a custom field.
///
public string DispTypeName { get; set; }
///
/// Fueling point type, 0=Fuel, 1=LNG, 2=CNG
/// Sps Field: `PumpType`, type: byte.
///
public byte PumpType { get; set; }
///
/// Number of the fuel tank.
/// Sps Field: `TankNo`, type: int(2)
///
public ushort TankId { get; set; }
///
/// ID of the associated POS.
/// Sps Field: `PosID`, type: tinyint(1)
///
public byte PosId { get; set; }
///
/// Application protocol, 1=IFSF, 2=Hengshan...
/// Sps Field: `Protocol`, type: int(2)
///
public ushort AppProtocol { get; set; }
///
/// Type of communication protocol, 0=TCP, 1=COM.
/// Sps Field: `ProtcType`, type: byte
///
public byte ProtocolType { get; set; }
///
/// Listening port.
/// Sps Field: `Port`, type: char(16).
///
public string Port { get; set; }
///
/// Serial port number in case that serial communication is used.
/// Sps Field: `LinkPort`, type: int(2)
///
public ushort SerialPort { get; set; }
///
/// Communication node.
/// Sps Field: `Node`, type: int(2)
///
public ushort Node { get; set; }
///
/// Sub-address of the pump, multiple pumps on the same serial port is supported.
/// Sps Field: `SubNode`, type: int(2)
///
public byte SubAddress { get; set; }
///
/// The work mode of the pump. 0=Locked, 1=Auto Auth, 2=Manual Auth.
/// Sps Field: `Mode`, type: byte.
///
public byte Mode { get; set; }
///
/// Mode of checkout, e.g self-service, manual etc.
///
public byte CheckOutMode { get; set; }
///
/// Count of nozzles.
/// `NozzleNum`
///
public byte NozzleCount
{
get
{
if (Nozzles != null)
{
return Convert.ToByte(Nozzles.Count);
}
return 0;
}
}
///
/// Delay parameter.
/// Sps Field: `DelayPara`, type: byte.
///
public byte DelayParam { get; set; }
///
/// Size of the unpaid transactions stack
/// Sps Field: `BuffSize`, type: byte
///
public byte PayStackSize { get; set; }
///
/// Maximum amount of an authorized filling.
/// Sps Field: `MaxMON`, type: uint(4)
///
public uint MaxAmount { get; set; }
///
/// Maximum volume of an authorized filling.
/// Sps Field: `MaxVOL`, type: uint(4)
///
public uint MaxVolume { get; set; }
///
/// Associated nozzles of a fueling poing.
///
public IList Nozzles { get; set; }
}
}