Commit 358af50
Changed files (2)
app
lib
model
export_import
app/lib/model/export_import/column.dart
@@ -89,24 +89,23 @@ class NativeColumn extends ExportColumn {
}
);
static final NativeColumn intakes = NativeColumn._create(
- 'intakes',
- RowDataFieldType.intakes,
- (_, __, intakes) => intakes
- .map((i) => '${i.medicine.designation}(${i.dosis.mg})')
- .join('|'),
- (String pattern) {
- final intakes = [];
- for (final e in pattern.split('|')) {
- final es = e.split('(');
- if (es.length < 2) return null;
- final [med, dosisStr, ...] = es;
- final dosis = double.tryParse(dosisStr.replaceAll(')', ''));
- if (dosis == null) return null;
- intakes.add((med, dosis));
- }
- return intakes;
+ 'intakes',
+ RowDataFieldType.intakes,
+ (_, __, intakes) => intakes
+ .map((i) => '${i.medicine.designation}(${i.dosis.mg})')
+ .join('|'),
+ (String pattern) {
+ final intakes = [];
+ for (final e in pattern.split('|')) {
+ final es = e.split('(');
+ if (es.length < 2) return null;
+ final [med, dosisStr, ...] = es;
+ final dosis = double.tryParse(dosisStr.replaceAll(')', ''));
+ if (dosis == null) return null;
+ intakes.add((med, dosis));
}
-
+ return intakes;
+ }
);
final String _csvTitle;
app/lib/model/export_import/csv_converter.dart
@@ -167,11 +167,10 @@ class CsvConverter {
);
final intakes = intakesData
?.map((s) {
- if (s is! (String, double)) return null;
- final (designation, weightMg) = s;
- final med = availableMedicines.firstWhereOrNull((med) => med.designation == designation);
+ assert(s is (String, double));
+ final med = availableMedicines.firstWhereOrNull((med) => med.designation == s.$1);
if (med == null) return null;
- return MedicineIntake(time: timestamp, medicine: med, dosis: Weight.mg(weightMg));
+ return MedicineIntake(time: timestamp, medicine: med, dosis: Weight.mg(s.$2));
})
.whereNotNull()
.toList();