class FaqsModel { List sendingMoney; FaqsModel({required this.sendingMoney}); factory FaqsModel.fromMap(Map? map) { return FaqsModel( sendingMoney: List.from((map?['Sending_money'] ?? []).map((x) => SendingMoney.fromMap(x))), ); } Map toMap() { return { 'Sending_money': sendingMoney.map((x) => x.toMap()).toList(), }; } @override String toString() { return 'FaqsModel{sendingMoney: $sendingMoney}'; } } class SendingMoney { String title; String description; String imageProvider; List questions; SendingMoney({ required this.title, required this.description, required this.imageProvider, required this.questions, }); factory SendingMoney.fromMap(Map? map) { return SendingMoney( title: map?['title'] ?? "", description: map?['description'] ?? "", imageProvider: map?['ImageProvider'] ?? "", questions: List.from((map?['questions'] ?? []).map((x) => Question.fromMap(x))), ); } Map toMap() { return { 'title': title, 'description': description, 'ImageProvider': imageProvider, 'questions': questions.map((x) => x.toMap()).toList(), }; } @override String toString() { return 'SendingMoney{title: $title, description: $description, imageProvider: $imageProvider, questions: $questions}'; } } class Question { String title; List subQuestions; Question({ required this.title, required this.subQuestions, }); factory Question.fromMap(Map? map) { return Question( title: map?['title'] ?? "", subQuestions: List.from((map?['sub_questions'] ?? []).map((x) => SubQuestion.fromMap(x))), ); } Map toMap() { return { 'title': title, 'sub_questions': subQuestions.map((x) => x.toMap()).toList(), }; } @override String toString() { return 'Question{title: $title, subQuestions: $subQuestions}'; } } class SubQuestion { String title; List questionDetails; SubQuestion({ required this.title, required this.questionDetails, }); factory SubQuestion.fromMap(Map? map) { return SubQuestion( title: map?['title'] ?? "", questionDetails: List.from((map?['questions_details'] ?? []).map((x) => QuestionDetails.fromMap(x))), ); } Map toMap() { return { 'title': title, 'questions_details': questionDetails.map((x) => x.toMap()).toList(), }; } @override String toString() { return 'SubQuestion{title: $title, questionDetails: $questionDetails}'; } } class QuestionDetails { String question; String answer; List multipleOptions; String? builtPoint1; String? builtPoint2; QuestionDetails({ required this.question, required this.answer, required this.multipleOptions, this.builtPoint1, this.builtPoint2, }); factory QuestionDetails.fromMap(Map? map) { return QuestionDetails( question: map?['question'] ?? "", answer: map?['answer'] ?? "", multipleOptions: List.from((map?['multiple_options'] ?? []).map((x) => MultipleOption.fromMap(x))), builtPoint1: map?['built_point_1'], builtPoint2: map?['built_point_2'], ); } Map toMap() { return { 'question': question, 'answer': answer, 'multiple_options': multipleOptions.map((x) => x.toMap()).toList(), 'built_point_1': builtPoint1, 'built_point_2': builtPoint2, }; } @override String toString() { return 'QuestionDetails{question: $question, answer: $answer, multipleOptions: $multipleOptions, builtPoint1: $builtPoint1, builtPoint2: $builtPoint2}'; } } class MultipleOption { String optionTitle; String optionAnswer; MultipleOption({ required this.optionTitle, required this.optionAnswer, }); factory MultipleOption.fromMap(Map? map) { return MultipleOption( optionTitle: map?['option_title'] ?? "", optionAnswer: map?['option_answer'] ?? "", ); } Map toMap() { return { 'option_title': optionTitle, 'option_answer': optionAnswer, }; } @override String toString() { return 'MultipleOption{optionTitle: $optionTitle, optionAnswer: $optionAnswer}'; } }