123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- #region --------------- Copyright Dresser Wayne Pignone -------------
- #endregion
- using System;
- using Wayne.Lib;
- #if _SINP
- using Wayne.ForecourtControl.Nfs;
- #endif
- namespace Wayne.ForecourtControl.Fusion
- {
- public class FUSIONTank : ITank
- {
- #region Fields
- FUSIONManager manager;
- int id;
- ITankGroup tankGroup;
- Wayne.Lib.DeviceConnectionState connectionState = Wayne.Lib.DeviceConnectionState.Unknown;
- ITankReading latestPhysicalReading;
- ITankReadingEx latestPhysicalReadingEx;
- bool capPhysicalReading;
- #endregion
- #region Events
- public event EventHandler<ConnectionChangedEventArgs> OnConnectionStateChange;
- #endregion
- #region Construction
- public FUSIONTank(FUSIONManager manager, int id, ITankGroup tankGroup)
- {
- this.manager = manager;
- this.id = id;
- this.tankGroup = tankGroup;
- }
- #endregion
- #region Properties
- public int Id
- {
- get
- {
- if (manager.IdTankShift > 0)
- return this.id + manager.IdTankShift;
- else
- return this.id + manager.IdShift;
- }
- }
- public int realId
- {
- get
- {
- return this.id;
- }
- }
- public ITankGroup TankGroup
- {
- get { return tankGroup; }
- }
- public Wayne.Lib.DeviceConnectionState ConnectionState
- {
- get { return connectionState; }
- }
- public ITankReading LatestPhysicalReading
- {
- get { return latestPhysicalReading; }
- }
- public ITankReadingEx LatestPhysicalReadingEx
- {
- get { return latestPhysicalReadingEx; }
- }
- public bool CapPhysicalReading
- {
- get { return capPhysicalReading; }
- }
- #endregion
-
- #region Methods
- public void ReadAsync(EventHandler<Wayne.Lib.AsyncCompletedEventArgs<ITankReading>> readingCompleted, object userToken)
- {
- throw new NotImplementedException();
-
- }
- public void ReadAsyncEx(EventHandler<Wayne.Lib.AsyncCompletedEventArgs<ITankReadingEx>> readingCompleted, object userToken)
- {
-
-
-
-
-
- this.manager.ifsfManager.GetTankData(this.realId, this.realId, readingCompleted, userToken, this);
-
-
- }
- public void RegisterManualTankDippingAsync(decimal tankLevel, EventHandler<Wayne.Lib.AsyncCompletedEventArgs> manualTankDippingRegistered, object userToken)
- {
- throw new NotImplementedException();
-
-
-
-
-
-
-
- }
- #endregion
- #region Internal Writable Properties
- internal Wayne.Lib.DeviceConnectionState WritableConnectionState
- {
- get { return connectionState; }
- set
- {
- if (connectionState != value)
- {
- connectionState = value;
- if (OnConnectionStateChange != null)
- OnConnectionStateChange.BeginInvoke(this, new ConnectionChangedEventArgs(connectionState), null, null);
- }
- }
- }
- internal ITankReading WritableLatestPhysicalReading
- {
- get { return latestPhysicalReading; }
- set { latestPhysicalReading = value; }
- }
- internal ITankReadingEx WritableLatestPhysicalReadingEx
- {
- get { return latestPhysicalReadingEx; }
- set { latestPhysicalReadingEx = value; }
- }
- internal bool WritableCapPhysicalReading
- {
- get { return capPhysicalReading; }
- set { capPhysicalReading = value; }
- }
- #endregion
- }
- }
|