createAnswerPayload function
dynamic
createAnswerPayload(
- dynamic _collectedAnswers,
- dynamic key,
- dynamic value,
- dynamic _surveyToMap,
- dynamic otherInput,
- dynamic otherInputText,
- dynamic otherInputId,
- dynamic isPhoneInput,
- dynamic phoneValue,
- dynamic time,
Implementation
createAnswerPayload(
_collectedAnswers,
key,
value,
_surveyToMap,
otherInput,
otherInputText,
otherInputId,
isPhoneInput,
phoneValue,
time,
) {
var currentAnswer;
var currentAnswerToSync;
var isAnswerCollected =
_collectedAnswers.where((e) => e['question_id'] == key);
if (isAnswerCollected.length > 0) {
currentAnswer = isAnswerCollected.first;
if (value == null) {
currentAnswer[_surveyToMap[key]['type']]
.removeWhere((key, value) => key == "data");
if (currentAnswer[_surveyToMap[key]['type']]['notApplicable'] != null) {
currentAnswer[_surveyToMap[key]['type']]
.removeWhere((key, value) => key == "notApplicable");
}
// currentAnswer[_surveyToMap[key]['type']]['data'] = null;
currentAnswer[_surveyToMap[key]['type']]['skipped'] = true;
} else {
if (value == -2) {
currentAnswer[_surveyToMap[key]['type']]
.removeWhere((key, value) => key == "data");
currentAnswer[_surveyToMap[key]['type']]['skipped'] = true;
currentAnswer[_surveyToMap[key]['type']]['notApplicable'] = true;
} else {
currentAnswer[_surveyToMap[key]['type']]['data'] =
getAnswerValueToStore(
value,
otherInput,
otherInputText,
otherInputId,
isPhoneInput,
phoneValue,
);
if (currentAnswer[_surveyToMap[key]['type']]['notApplicable'] != null) {
currentAnswer[_surveyToMap[key]['type']]
.removeWhere((key, value) => key == "notApplicable");
}
currentAnswer[_surveyToMap[key]['type']]['skipped'] = false;
}
}
} else {
currentAnswer = {};
currentAnswerToSync = {};
if (value == null) {
currentAnswer['question_id'] = key;
currentAnswer[_surveyToMap[key]['type']] = {};
currentAnswer[_surveyToMap[key]['type']]['skipped'] = true;
currentAnswer[_surveyToMap[key]['type']]['timeTaken'] = time;
} else {
if (value == -2) {
currentAnswer['question_id'] = key;
currentAnswer[_surveyToMap[key]['type']] = {};
currentAnswer[_surveyToMap[key]['type']]['skipped'] = true;
currentAnswer[_surveyToMap[key]['type']]['notApplicable'] = true;
currentAnswer[_surveyToMap[key]['type']]['timeTaken'] = time;
} else {
currentAnswer['question_id'] = key;
currentAnswer[_surveyToMap[key]['type']] = {};
currentAnswer[_surveyToMap[key]['type']]['data'] =
getAnswerValueToStore(
value,
otherInput,
otherInputText,
otherInputId,
isPhoneInput,
phoneValue,
);
currentAnswer[_surveyToMap[key]['type']]['skipped'] = false;
currentAnswer[_surveyToMap[key]['type']]['timeTaken'] = time;
}
}
_collectedAnswers.add(currentAnswer);
}
}