30 lines
888 B
Dart
30 lines
888 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:lamiter/Class/Form/urban_disease_form.dart';
|
|
|
|
class UrbanDiseaseResult {
|
|
List<String> diseaseIds;
|
|
|
|
UrbanDiseaseResult({
|
|
required this.diseaseIds,
|
|
});
|
|
|
|
UrbanDiseaseResult.fromJson(Map<String, dynamic> json)
|
|
: diseaseIds = (json["diseaseIds"] as List<dynamic>?)
|
|
?.map((item) => item as String)
|
|
.toList() ??
|
|
[];
|
|
|
|
Map<String, dynamic> toJson() => {'diseaseIds': diseaseIds};
|
|
|
|
UrbanDiseaseResult.fromForm(BuildContext context, UrbanDiseaseForm form)
|
|
: diseaseIds = _collectDiseasesIds(form);
|
|
|
|
static List<String> _collectDiseasesIds(UrbanDiseaseForm form) {
|
|
List<String> diseaseIds = [];
|
|
form.diseaseStatus.forEach((String qid, bool hasDisease) {
|
|
if (hasDisease) diseaseIds.add(qid.split('_urban_disease_')[1]);
|
|
});
|
|
return diseaseIds;
|
|
}
|
|
}
|