dtoToMaintenanceDetails function

MaintenanceDetails dtoToMaintenanceDetails(
  1. DeviceDetailsDTO details,
  2. List<MaintenanceNoteDTO>? notes
)

Converts the list of parameters and maintenance notes from the backend into a MaintenanceDetails object that can be used by the frontend.

Implementation

MaintenanceDetails dtoToMaintenanceDetails(
  DeviceDetailsDTO details,
  List<MaintenanceNoteDTO>? notes,
) {
  final maintenancePeriodDays = details.device?.maintenancePeriodDays;
  final runtimeSinceLastMaintenanceHours =
      details.runtimeSinceLastMaintenanceHours;

  return MaintenanceDetails(
    lastDate: details.device?.lastMaintenanceTimestamp,
    nextDate: details.device?.nextMaintenanceTimestamp,
    interval: maintenancePeriodDays != null
        ? Duration(days: maintenancePeriodDays)
        : null,
    engineRuntimeSinceLast: runtimeSinceLastMaintenanceHours != null
        ? Duration(hours: runtimeSinceLastMaintenanceHours.round())
        : null,
    notes: notes?.map(dtoToMaintenanceNote).toList() ?? [],
  );
}