dtoToGeneratorDetails function
Implementation
GeneratorDetails dtoToGeneratorDetails(DeviceDetailsDTO deviceDetailsDTO) {
return GeneratorDetails(
device: dtoToDevice(deviceDetailsDTO.device!),
powerSource: dtoToPowerSource(deviceDetailsDTO.powerSource),
switchState: dtoToSwitchState(deviceDetailsDTO.switchState),
coolingType: dtoToCoolingType(deviceDetailsDTO.coolingType),
connectionType: dtoConnectionType(deviceDetailsDTO.connectionType),
cellularDataStatus:
dtoCellularDataStatus(deviceDetailsDTO.cellularDataStatus),
cellularExpiryDate: deviceDetailsDTO.cellularExpiryDate,
cellularInstallationDate: deviceDetailsDTO.cellularInstallationDate,
hasServiceAgreement: deviceDetailsDTO.serviceAgreement?.hasServiceAgreement,
serviceAgreementBeginDate:
deviceDetailsDTO.serviceAgreement?.beginTimestamp,
serviceAgreementTermMonths: deviceDetailsDTO.serviceAgreement?.termMonths,
serviceAgreementTermDays: deviceDetailsDTO.serviceAgreement?.termDays,
serverIpAddress: deviceDetailsDTO.serverIpAddress,
lastExerciseStartDate: deviceDetailsDTO.exercise?.lastStartTimestamp,
lastExerciseEndDate: deviceDetailsDTO.exercise?.lastEndTimestamp,
nextExerciseDate: deviceDetailsDTO.exercise?.nextStartTimestamp?.toLocal(),
exerciseDuration: deviceDetailsDTO.exercise?.durationMinutes != null
? Duration(minutes: deviceDetailsDTO.exercise!.durationMinutes!)
: null,
lastRanDate: deviceDetailsDTO.lastRanTimestamp,
totalRuntime: deviceDetailsDTO.totalRuntimeHours != null
? Duration(minutes: (deviceDetailsDTO.totalRuntimeHours! * 60).round())
: null,
totalOperationTime: deviceDetailsDTO.totalOperationHours != null
? Duration(
minutes: (deviceDetailsDTO.totalOperationHours! * 60).round(),
)
: null,
addedBy: deviceDetailsDTO.addedBy,
associatedUsers: deviceDetailsDTO.associatedUsers ?? [],
modelNumber: deviceDetailsDTO.device?.modelDisplayName,
serviceAgreementTerm:
dtoToServiceAgreementTerm(deviceDetailsDTO.serviceAgreement?.term),
exerciseMode: dtoToExerciseMode(deviceDetailsDTO.exercise?.mode),
exerciseFrequency:
dtoToExerciseFrequency(deviceDetailsDTO.exercise?.frequency),
runningExerciseMode:
dtoToExerciseMode(deviceDetailsDTO.exercise?.runningMode),
supportsNextExerciseDateTimeParam:
deviceDetailsDTO.exercise?.supportsNextExerciseDateTimeParam,
product: deviceDetailsDTO.device?.productDisplayName,
pim: dtoToPim(deviceDetailsDTO.pim),
latestFirmware: deviceDetailsDTO.device?.firmwareVersion,
currentFirmware: deviceDetailsDTO.device?.currentFirmware,
loadShed: dtoToLoadShed(deviceDetailsDTO.loadShed),
controllerClockTime: deviceDetailsDTO.controllerClockTimestamp,
controllerTempF: deviceDetailsDTO.controllerTempF,
controllerType: deviceDetailsDTO.device?.controllerType,
engineCompartmentTempF: deviceDetailsDTO.engineCompartmentTempF,
engineCoolantTempF: deviceDetailsDTO.engineCoolantTempF,
engineFrequencyHz: deviceDetailsDTO.engineFrequencyHz,
engineOilPressureOk: deviceDetailsDTO.engineOilPressureOk,
engineOilPressurePsi: deviceDetailsDTO.engineOilPressurePsi,
engineSpeedRevPerMin: deviceDetailsDTO.engineSpeedRpm,
engineState: deviceDetailsDTO.engineStateDisplayNameEn,
generatorLoadW: deviceDetailsDTO.generatorLoadW,
fuelType: dtoToFuelType(deviceDetailsDTO.fuelType),
lubeOilTempF: deviceDetailsDTO.lubeOilTempF,
utilityVoltageV: deviceDetailsDTO.utilityVoltageV,
setOutputVoltageV: deviceDetailsDTO.setOutputVoltageV,
generatorLoadPercent: deviceDetailsDTO.generatorLoadPercent,
generatorVoltageAvgV: deviceDetailsDTO.generatorVoltageAvgV,
nextMaintenanceDate: deviceDetailsDTO.device!.nextMaintenanceTimestamp,
batteryVoltageV: deviceDetailsDTO.batteryVoltageV,
);
}