diff --git a/lib/api/marathon/marathon_api_client.dart b/lib/api/marathon/marathon_api_client.dart index 3d75d87..428e586 100644 --- a/lib/api/marathon/marathon_api_client.dart +++ b/lib/api/marathon/marathon_api_client.dart @@ -62,7 +62,6 @@ class MarathonApiClient { Future getMarathonDetails() async { String payrollString = AppState().postParamsObject?.payrollCodeStr.toString() ?? "CS"; - Response response = await ApiClient().getJsonForResponse( ApiConsts.marathonUpcomingUrl + payrollString, token: AppState().getMarathonToken == null || AppState().getMarathonToken == "" ? await getMarathonToken() : AppState().getMarathonToken, @@ -84,7 +83,7 @@ class MarathonApiClient { return marathonDetailModel; } - Future joinMarathonAsParticipant() async { + Future joinMarathonAsParticipant() async { Map jsonObject = { "employeeNumber": AppState().memberInformationList!.eMPLOYEENUMBER ?? "", "employeeNameAr": AppState().memberInformationList!.eMPLOYEEDISPLAYNAMEAr ?? AppState().memberInformationList!.eMPLOYEEDISPLAYNAMEEn ?? "", @@ -95,7 +94,7 @@ class MarathonApiClient { return await ApiClient().postJsonForObject( (json) { MarathonGenericModel marathonModel = MarathonGenericModel.fromJson(json); - return marathonModel.data["remainingTime"]; + return marathonModel; }, ApiConsts.marathonJoinParticipantUrl, jsonObject, diff --git a/lib/classes/consts.dart b/lib/classes/consts.dart index 8052afb..9b85bb9 100644 --- a/lib/classes/consts.dart +++ b/lib/classes/consts.dart @@ -3,7 +3,7 @@ import 'package:mohem_flutter_app/ui/marathon/widgets/question_card.dart'; class ApiConsts { //static String baseUrl = "http://10.200.204.20:2801/"; // Local server // static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server - // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT server + // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT server static String baseUrl = "https://hmgwebservices.com"; // Live server static String baseUrlServices = baseUrl + "/Services/"; // server // static String baseUrlServices = "https://api.cssynapses.com/tangheem/"; // Live server @@ -38,7 +38,11 @@ class ApiConsts { static String oneSignalAppID = "472e4582-5c44-47ab-a5f5-9369b8967107"; //Brain Marathon Constants - static String marathonBaseUrl = "https://marathoon.com/service/api/"; + static String marathonBaseUrlLive = "https://marathoon.com/service/api/"; + static String marathonBaseUrlUAT = "https://marathoon.com/uatservice/api/"; + + static String marathonBaseUrl = marathonBaseUrlLive; + // static String marathonBaseUrl = marathonBaseUrlUAT; static String marathonBaseUrlServices = "https://marathoon.com/service/"; static String marathonParticipantLoginUrl = marathonBaseUrl + "auth/participantlogin"; static String marathonProjectGetUrl = marathonBaseUrl + "Project/Project_Get"; diff --git a/lib/ui/marathon/marathon_provider.dart b/lib/ui/marathon/marathon_provider.dart index b88f54b..544aad3 100644 --- a/lib/ui/marathon/marathon_provider.dart +++ b/lib/ui/marathon/marathon_provider.dart @@ -10,6 +10,7 @@ import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/consts.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; +import 'package:mohem_flutter_app/models/marathon/marathon_generic_model.dart'; import 'package:mohem_flutter_app/models/marathon/marathon_model.dart'; import 'package:mohem_flutter_app/models/marathon/question_model.dart'; import 'package:mohem_flutter_app/models/marathon/winner_model.dart'; @@ -193,9 +194,7 @@ class MarathonProvider extends ChangeNotifier { if (totalSecondsToWaitForMarathon == 0) { timer.cancel(); if (isUserWaiting) { - MarathonApiClient().joinMarathonAsParticipant().whenComplete(() async { - await callNextQuestionApi(); - }); + await callNextQuestionApi(); } else { isButtonEnabled = false; } @@ -374,7 +373,7 @@ class MarathonProvider extends ChangeNotifier { void updateCardData() { if (currentQuestionNumber > 0) { - swiperController.swipeLeft(); + // swiperController.swipeLeft(); } selectedOptionIndex = null; currentQuestionNumber++; @@ -575,9 +574,18 @@ class MarathonProvider extends ChangeNotifier { Future onJoinMarathonPressed(BuildContext context) async { try { - isUserWaiting = true; - Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen); + Utils.showLoading(AppRoutes.navigatorKey.currentContext!); + MarathonApiClient().joinMarathonAsParticipant().then((MarathonGenericModel? marathonGenericModel) async { + Utils.hideLoading(AppRoutes.navigatorKey.currentContext!); + if (marathonGenericModel != null && marathonGenericModel.data != null) { + isUserWaiting = true; + Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen); + } else if (marathonGenericModel!.data == null) { + Utils.showToast(marathonGenericModel.message.toString()); + } + }); } catch (e) { + Utils.hideLoading(AppRoutes.navigatorKey.currentContext!); Utils.confirmDialog(context, e.toString()); } }