Commit 358af50

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2024-08-07 06:04:41
simplify intakesdata conversion
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 732c40e
Changed files (2)
app
lib
model
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();