using AutoMapper;
using AutoMapper.Configuration.Annotations;
using Wayne_VaporRecoveryDataCollectorBoard.MessageEntity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using VaporRecoveryOnlineWatchHubApp.UnversalApiModels;
namespace Application.VaporRecoveryOnlineWatchHubApp.UnversalApiModels
{
///
/// once a fueling has done on a nozzle, the VR board will report the flow data of this trx.
/// This data will persit to Database for history check.
///
public class VRBoardNozzleTrxFlowData
{
//[SourceMember(nameof(GenericData.IntProperty0))]
public DataCollectorBoardTypeEnum? DataCollectorType { get; set; }
//[SourceMember(nameof(GenericData.IntProperty1))]
public byte DataCollectorDeviceAddress { get; set; }
//[SourceMember(nameof(GenericData.IntProperty2))]
//public byte DataCollectorNozzleNumber { get; set; }
//[SourceMember(nameof(GenericData.IntProperty3))]
public int SiteLevelNozzleId { get; set; }
//[SourceMember(nameof(GenericData.IntProperty4))]
//public int DataCollectorDeviceId { get; set; }
//[SourceMember(nameof(GenericData.IntProperty5))]
//public int SiteLevelDispenserId { get; set; }
//[SourceMember(nameof(GenericData.StrProperty0))]
//public string SiteLevelDispenserDesc { get; set; }
//[SourceMember(nameof(GenericData.StrProperty1))]
public double LiquidVolumeWithDecimal { get; set; }
//[SourceMember(nameof(GenericData.StrProperty2))]
public double VaporVolumeWithDecimal { get; set; }
public double VaporLiquidRatio { get; set; }
///
/// 最大气流速, with decimal
///
public double? MaxAirFlowRateWithDecimal { get; set; }
///
/// 最大油流速, with decimal
///
public double? MaxLiquidFlowRateWithDecimal { get; set; }
///
/// 平均气流速, with decimal
///
public double? AvgAirFlowRateWithDecimal { get; set; }
///
/// 平均油流速, with decimal
///
public double? AvgLiquidFlowRateWithDecimal { get; set; }
///
/// when this record created in app side.
///
public DateTime TimeStamp { get; set; }
public DateTime? FuellingStartTime { get; set; }
public DateTime? FuellingEndTime { get; set; }
//public string SensorId { get; set; }
public bool 气液比值是否正常 { get; set; }
//public VRState VrState { get; set; }
public double? TankPressure { get; set; }
public double? LiquidPressure { get; set; }
public double? GasConcentrations { get; set; }
public override string ToString()
{
return GetType().GetProperties().Aggregate(string.Empty,
(result, next) => result + $"{next.Name} : {(next.GetValue(this)?.ToString()) ?? string.Empty} ");
}
}
}