131 lines
4.7 KiB
C#
131 lines
4.7 KiB
C#
|
|
using DTS.Common.Interface.Sensors;
|
|||
|
|
using DTS.Common.Interface.Tags;
|
|||
|
|
using DTS.Common.Utilities.Logging;
|
|||
|
|
using System;
|
|||
|
|
using DTS.Common.Constant;
|
|||
|
|
using System.Data;
|
|||
|
|
|
|||
|
|
namespace DTS.Common.Classes.Sensors
|
|||
|
|
{
|
|||
|
|
#pragma warning disable S101 // Types should be named in PascalCase
|
|||
|
|
public class CANRecord : TagAwareBase, ICANRecord
|
|||
|
|
#pragma warning restore S101 // Types should be named in PascalCase
|
|||
|
|
{
|
|||
|
|
public override TagTypes TagType { get => TagTypes.Sensors; }
|
|||
|
|
private int _id;
|
|||
|
|
public int Id
|
|||
|
|
{
|
|||
|
|
get => _id;
|
|||
|
|
set => SetProperty(ref _id, value, "Id");
|
|||
|
|
}
|
|||
|
|
private string _serialNumber;
|
|||
|
|
public string SerialNumber
|
|||
|
|
{
|
|||
|
|
get => _serialNumber;
|
|||
|
|
set => SetProperty(ref _serialNumber, value, "SerialNumber");
|
|||
|
|
}
|
|||
|
|
private DateTime _lastModified;
|
|||
|
|
public DateTime LastModified
|
|||
|
|
{
|
|||
|
|
get => _lastModified;
|
|||
|
|
set => SetProperty(ref _lastModified, value, "LastModified");
|
|||
|
|
}
|
|||
|
|
private string _lastUpdatedBy;
|
|||
|
|
public string LastUpdatedBy
|
|||
|
|
{
|
|||
|
|
get => _lastUpdatedBy;
|
|||
|
|
set => SetProperty(ref _lastUpdatedBy, value, "LastUpdatedBy");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _doNotUse;
|
|||
|
|
public bool DoNotUse
|
|||
|
|
{
|
|||
|
|
get => _doNotUse;
|
|||
|
|
set => SetProperty(ref _doNotUse, value, "DoNotUse");
|
|||
|
|
}
|
|||
|
|
private bool _broken;
|
|||
|
|
public bool Broken
|
|||
|
|
{
|
|||
|
|
get => _broken;
|
|||
|
|
set => SetProperty(ref _broken, value, "Broken");
|
|||
|
|
}
|
|||
|
|
private bool _canIsFD = EmbeddedSensors.CANISFD_DEFAULT;
|
|||
|
|
public bool CanIsFD
|
|||
|
|
{
|
|||
|
|
get => _canIsFD;
|
|||
|
|
set => SetProperty(ref _canIsFD, value, "CanIsFD");
|
|||
|
|
}
|
|||
|
|
private int _canArbBaseBitrate = EmbeddedSensors.CANFD_ARB_BASE_BITRATE_DEFAULT;
|
|||
|
|
public int CanArbBaseBitrate
|
|||
|
|
{
|
|||
|
|
get => _canArbBaseBitrate;
|
|||
|
|
set => SetProperty(ref _canArbBaseBitrate, value, "CanArbBaseBitrate");
|
|||
|
|
}
|
|||
|
|
private int _canArbBaseSJW = EmbeddedSensors.CANFD_1000000_ARB_BASE_SJW_MAX;
|
|||
|
|
public int CanArbBaseSJW
|
|||
|
|
{
|
|||
|
|
get => _canArbBaseSJW;
|
|||
|
|
set => SetProperty(ref _canArbBaseSJW, value, "CanArbBaseSJW");
|
|||
|
|
}
|
|||
|
|
private int _canDataBitrate = EmbeddedSensors.DATA_BITRATE_DEFAULT;
|
|||
|
|
public int CanDataBitrate
|
|||
|
|
{
|
|||
|
|
get => _canDataBitrate;
|
|||
|
|
set => SetProperty(ref _canDataBitrate, value, "CanDataBitrate");
|
|||
|
|
}
|
|||
|
|
private int _canDataSJW = EmbeddedSensors.DATA_SJW_DEFAULT;
|
|||
|
|
public int CanDataSJW
|
|||
|
|
{
|
|||
|
|
get => _canDataSJW;
|
|||
|
|
set => SetProperty(ref _canDataSJW, value, "CanDataSJW");
|
|||
|
|
}
|
|||
|
|
private string _canFileType = EmbeddedSensors.FILETYPE_DEFAULT;
|
|||
|
|
public string CanFileType
|
|||
|
|
{
|
|||
|
|
get => _canFileType;
|
|||
|
|
set => SetProperty(ref _canFileType, value, "CanFileType");
|
|||
|
|
}
|
|||
|
|
public CANRecord(ISensorData sensor)
|
|||
|
|
{
|
|||
|
|
Id = sensor.DatabaseId;
|
|||
|
|
SerialNumber = sensor.SerialNumber;
|
|||
|
|
|
|||
|
|
CanIsFD = sensor.CanIsFD;
|
|||
|
|
CanArbBaseBitrate = sensor.CanArbBaseBitrate;
|
|||
|
|
CanArbBaseSJW = sensor.CanArbBaseSJW;
|
|||
|
|
CanDataBitrate = sensor.CanDataBitrate;
|
|||
|
|
CanDataSJW = sensor.CanDataSJW;
|
|||
|
|
CanFileType = sensor.CanFileType;
|
|||
|
|
|
|||
|
|
Broken = sensor.Broken;
|
|||
|
|
DoNotUse = sensor.DoNotUse;
|
|||
|
|
LastModified = sensor.LastModified;
|
|||
|
|
LastUpdatedBy = sensor.LastUpdatedBy;
|
|||
|
|
}
|
|||
|
|
public CANRecord(IDataReader reader)
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
Id = Utility.GetInt(reader, "Id");
|
|||
|
|
SerialNumber = Utility.GetString(reader, "SerialNumber");
|
|||
|
|
|
|||
|
|
CanIsFD = Utility.GetBool(reader, "IsFD");
|
|||
|
|
CanArbBaseBitrate = Utility.GetInt(reader, "ArbBaseBitrate");
|
|||
|
|
CanArbBaseSJW = Utility.GetInt(reader, "ArbBaseSJW");
|
|||
|
|
CanDataBitrate = Utility.GetInt(reader, "DataBitrate");
|
|||
|
|
CanDataSJW = Utility.GetInt(reader, "DataSJW");
|
|||
|
|
CanFileType = Utility.GetString(reader, "FileType");
|
|||
|
|
|
|||
|
|
Broken = Utility.GetBool(reader, "Broken");
|
|||
|
|
DoNotUse = Utility.GetBool(reader, "DoNotUse");
|
|||
|
|
LastModified = Utility.GetDateTime(reader, "LastModified", DateTime.MinValue);
|
|||
|
|
LastUpdatedBy = Utility.GetString(reader, "LastModifiedBy");
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
APILogger.Log("Failed to process: ", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|