You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudsolutions-atoms/lib/modules/cx_module/survey/survey_provider.dart

45 lines
1.4 KiB
Dart

import 'dart:async';
import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'questionnaire_model.dart';
class SurveyProvider with ChangeNotifier {
bool loading = false;
void reset() {
loading = false;
// questionnaire = null;
// ChatApiClient().chatLoginResponse = null;
}
Future<Questionnaire?> getQuestionnaire(int surveySubmissionId) async {
try {
final response = await ApiManager.instance.get("${URLs.getQuestionnaire.toString().replaceFirst("/mobile/", "/api/")}?surveySubmissionId=$surveySubmissionId");
if (response.statusCode >= 200 && response.statusCode < 300) {
return Questionnaire.fromJson(jsonDecode(response.body)["data"]);
}
} catch (ex) {
"Failed, Retry.".showToast;
}
return null;
}
Future<bool> submitQuestionare(Map<String, dynamic> payload) async {
try {
final response = await ApiManager.instance.post(URLs.submitSurvey.toString().replaceFirst("/mobile/", "/api/"), body: payload);
if (response.statusCode >= 200 && response.statusCode < 300) {
return true;
}
} catch (ex) {
"Failed, Retry.".showToast;
}
return false;
}
}