laatzen/Common/Hardware/WaterMeter/Genesis/GenesisStatus/GenesisStatus.cs
2024-07-17 11:28:56 +02:00

138 lines
4.4 KiB
C#

using System;
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisStatus
{
/// <summary>
/// Status of Cordonel like:
/// - Battery drainage,
/// - Production date of electronics,
/// - Due date for production,
/// - Remaining life time,
/// - Special permissions for production capability check for
/// - Battery Drainage in %,
/// - Remaining Life Time in years,
/// - Production Due Date as DateTime.
/// </summary>
public class GenesisStatus
{
/// <summary>
/// Data base primary key
/// </summary>
public Int32 Id { get; set; }
/// <summary>
/// Order number
/// </summary>
public Int32? OrderNumber { get; set; }
/// <summary>
/// PcbId.
/// </summary>
public String PcbId { get; set; }
/// <summary>
/// Skip radio parameter check
/// </summary>
public Boolean SkipRadioParametersCheck { get; set; }
/// <summary>
/// Override FW version. Normally the FW will be assigned to the latest released version
/// and taken from the data base. Here special versions can be used for FW tests.
/// null means take the current released version
/// </summary>
public Int32? OverrideFwCheck { get; set; }
/// <summary>
/// override the Lut version to check the look-up-table installation as this device may be used for development.
/// null means take the current released version
/// </summary>
public Int32? OverrideLutCheck { get; set; }
/// <summary>
/// Internally used to signal that production and shipping is proved and validated.
/// </summary>
public Boolean ProductionAccepted { get; set; }
/// <summary>
/// Date and time of production of electronics.
/// </summary>
public DateTime KitronProductionDate { get; set; }
/// <summary>
/// Last date until production has to be finished, can be extended by special permission
/// </summary>
public DateTime ProductionDueDate { get; set; }
/// <summary>
/// Remaining life time for Cordonel in years based on battery drainage.
/// </summary>
public Double RemainingLifeTimeYears { get; set; }
/// <summary>
/// Exceeded life time of all batteries in seconds.
/// </summary>
public UInt64 ExceededLifeTime_s { get; set; }
/// <summary>
/// Required life time in years for assembly, is dependent on region and special permission.
/// </summary>
public Double RequiredLifeTimeYearsAssembly { get; set; }
/// <summary>
/// Required life time in years for shipping, is dependent on region and special permission.
/// </summary>
public Double RequiredLifeTimeYearsShipping { get; set; }
/// <summary>
/// Battery drainage in percent.
/// </summary>
public Double DrainedBatteryLoadPercent { get; set; }
/// <summary>
/// Maximum drained Battery load in percent.
/// </summary>
public Double MaxDrainedBatteryLoadPercent { get; set; }
/// <summary>
/// Number of batteries attached to Cordonel.
/// </summary>
public Int32 BatteryQuantity { get; set; }
/// <summary>
/// Initial capacity of one battery in mAh.
/// </summary>
public UInt64 InitialBatteryLoad_mAh { get; set; }
/// <summary>
/// Drained capacity of all batteries in uAs.
/// </summary>
public UInt64 DrainedBatteryLoad_uAs { get; set; }
/// <summary>
/// Comment for approval and permissions reasons:
/// e.g. "On customer requirement for test purposes the life time isn't of importance".
/// </summary>
public String ApprovalComment { get; set; }
/// <summary>
/// Name of approver for special permissions.
/// </summary>
public String ApproverName { get; set; }
/// <summary>
/// Date of approval.
/// </summary>
public DateTime ApprovalDate { get; set; }
/// <summary>
/// Uniontown limits
/// </summary>
public Double UNTLimit { get; internal set; }
/// <summary>
/// Uniontown status
/// </summary>
public Boolean UNTStatus { get; internal set; }
}
}