Added Question Dart Object

merge-requests/77/head
Faiz Hashmi 3 years ago
parent cbe251829f
commit 8b388220cf

@ -47,6 +47,7 @@ class MarathonApiClient {
if (marathonModel.statusCode == 200) {
if (marathonModel.data != null && marathonModel.isSuccessful == true) {
logger.i("message: ${marathonModel.data[0]["id"]}");
AppState().setMarathonProjectId = marathonModel.data[0]["id"] ?? "";
return marathonModel.data[0]["id"] ?? "";
} else {
@ -70,7 +71,7 @@ class MarathonApiClient {
MarathonDetailModel marathonDetailModel = MarathonDetailModel.fromJson(marathonGenericModel.data);
AppState().setMarathonProjectId = marathonDetailModel.projects!.id!;
AppState().setMarathonProjectId = marathonDetailModel.id!;
return marathonDetailModel;
}
@ -109,7 +110,7 @@ class MarathonApiClient {
);
if (hubConnection.state != HubConnectionState.Connected) {
await hubConnection.start();
logger.i("Hi jee");
logger.i("Started HubConnection");
await hubConnection.invoke(
"AddParticipant",
@ -124,22 +125,28 @@ class MarathonApiClient {
logger.i("Error in AddParticipant: $e");
});
logger.i("MarathonId: ${AppState().getMarathonProjectId}");
await hubConnection.invoke(
"SendQuestionToParticipant",
args: <Object>[
<String, dynamic>{
"marathonId": AppState().getMarathonProjectId,
"marathonId": "9c47d281-c5b5-4b5d-a90a-08dacb8cbdb6",
}
],
).catchError((e) {
logger.i("Error in SendQuestionToParticipant: $e");
});
hubConnection.on("OnSendQuestionToParticipant", onSendQuestionToParticipant);
try {
hubConnection.on("OnSendQuestionToParticipant", onSendQuestionToParticipant);
} catch (e, s) {
logger.i("s");
}
}
}
Future<void> onSendQuestionToParticipant(List<Object?>? arguments) async {
print("arguments: $arguments");
logger.i(arguments);
}

@ -0,0 +1,109 @@
class QuestionModel {
String? id;
String? titleEn;
String? titleAr;
String? marathonId;
int? questionTypeId;
int? questionTime;
int? nextQuestGap;
int? gapType;
String? gapText;
String? gapImage;
int? questOptionsLimit;
List<QuestionOptions>? questionOptions;
QuestionModel(
{id,
titleEn,
titleAr,
marathonId,
questionTypeId,
questionTime,
nextQuestGap,
gapType,
gapText,
gapImage,
questOptionsLimit,
questionOptions});
QuestionModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
titleEn = json['titleEn'];
titleAr = json['titleAr'];
marathonId = json['marathonId'];
questionTypeId = json['questionTypeId'];
questionTime = json['questionTime'];
nextQuestGap = json['nextQuestGap'];
gapType = json['gapType'];
gapText = json['gapText'];
gapImage = json['gapImage'];
questOptionsLimit = json['questOptionsLimit'];
if (json['questionOptions'] != null) {
questionOptions = <QuestionOptions>[];
json['questionOptions'].forEach((v) {
questionOptions!.add( QuestionOptions.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['titleEn'] = titleEn;
data['titleAr'] = titleAr;
data['marathonId'] = marathonId;
data['questionTypeId'] = questionTypeId;
data['questionTime'] = questionTime;
data['nextQuestGap'] = nextQuestGap;
data['gapType'] = gapType;
data['gapText'] = gapText;
data['gapImage'] = gapImage;
data['questOptionsLimit'] = questOptionsLimit;
if (questionOptions != null) {
data['questionOptions'] =
questionOptions!.map((v) => v.toJson()).toList();
}
return data;
}
}
class QuestionOptions {
String? id;
String? titleEn;
String? titleAr;
String? questionId;
int? sequence;
String? image;
bool? isCorrectOption;
QuestionOptions(
{id,
titleEn,
titleAr,
questionId,
sequence,
image,
isCorrectOption});
QuestionOptions.fromJson(Map<String, dynamic> json) {
id = json['id'];
titleEn = json['titleEn'];
titleAr = json['titleAr'];
questionId = json['questionId'];
sequence = json['sequence'];
image = json['image'];
isCorrectOption = json['isCorrectOption'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['titleEn'] = titleEn;
data['titleAr'] = titleAr;
data['questionId'] = questionId;
data['sequence'] = sequence;
data['image'] = image;
data['isCorrectOption'] = isCorrectOption;
return data;
}
}
Loading…
Cancel
Save