22 lines
569 B
Dart
22 lines
569 B
Dart
import '../models/bauteil_model.dart';
|
|
|
|
class FilamentBestand {
|
|
static Map<String, double> verbrauch(
|
|
Iterable<BauteilModel> bauteile, {
|
|
String? ohneBauteilId,
|
|
}) {
|
|
final result = <String, double>{};
|
|
for (final bauteil in bauteile) {
|
|
if (bauteil.bauteilId == ohneBauteilId) continue;
|
|
for (final filament in bauteil.filamente) {
|
|
result.update(
|
|
filament.filamentId,
|
|
(value) => value + filament.verbrauchGramm,
|
|
ifAbsent: () => filament.verbrauchGramm,
|
|
);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
}
|