123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- using Edge.Core.IndustryStandardInterface.ATG;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace Applications.UniversalApi_WebConsole_App
- {
- public class MockAutoTankGaugeController : IAutoTankGaugeController
- {
- public string MetaConfigName => "I'm a mock controller";
- public int DeviceId => 999;
-
- public IEnumerable<Tank> Tanks { get; }
- public SystemUnit SystemUnit { get; }
- public AtgState State => throw new NotImplementedException();
- public event EventHandler<AtgStateChangeEventArg> OnStateChange;
- public event EventHandler<AtgAlarmEventArg> OnAlarm;
- public MockAutoTankGaugeController(List<Tank> tanks, SystemUnit systemUnit)
- {
- this.Tanks = tanks;
- this.SystemUnit = systemUnit;
- }
- public void FireOnStateChangeEvent(AtgState state)
- {
- var safe = this.OnStateChange;
- safe?.Invoke(this, new AtgStateChangeEventArg(state,""));
- }
- public Task<IEnumerable<Delivery>> GetTankDeliveryAsync(int tankNumber, int pageRowCount = 10, int pageIndex = 0, DateTime? filterTimestamp = null)
- {
-
-
- if (tankNumber == null)
- {
- return Task.FromResult(this.Tanks.Select(t => new Edge.Core.IndustryStandardInterface.ATG.Delivery()
- {
- TankNumber = t.TankNumber,
- StartingDateTime = DateTime.Now.Subtract(new TimeSpan(24 + t.TankNumber * 24, 0, 0)),
- EndingDateTime = DateTime.Now.Subtract(new TimeSpan(24 + t.TankNumber * 24, 10, 0)),
- }));
- }
- else
- {
- return Task.FromResult(this.Tanks.Where(t => t.TankNumber == tankNumber)
- .Select(t => new Edge.Core.IndustryStandardInterface.ATG.Delivery()
- {
- TankNumber = t.TankNumber,
- StartingDateTime = DateTime.Now.Subtract(new TimeSpan(24 + t.TankNumber * 24, 0, 0)),
- EndingDateTime = DateTime.Now.Subtract(new TimeSpan(24 + t.TankNumber * 24, 10, 0)),
- }));
- }
- }
-
- public async Task<TankReading> GetTankReadingAsync(int tankNumber)
- {
- return new TankReading()
- {
- Height = 1800 - new Random().Next(100, 1000),
- Water = 0 + new Random().Next(10, 500),
- Temperature = 20 + new Random().Next(1, 30),
- Volume = 4000 + new Random().Next(100, 2000),
- WaterVolume = 100 + new Random().Next(2, 200),
- };
- }
- public Task<IEnumerable<Inventory>> GetTankInventoryAsync(int tankNumber, int pageRowCount = 10, int pageIndex = 0, DateTime? filterTimestamp = null)
- {
- throw new NotImplementedException();
- }
- public Task<IEnumerable<Alarm>> GetTankAlarmAsync(int tankNumber, int pageRowCount = 10, int pageIndex = 0, DateTime? filterTimestamp = null)
- {
- throw new NotImplementedException();
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- }
|