multiple survey added.

development_sikander
Sikander Saleem 2 years ago
parent d1e2d0f59b
commit 449c93649a

@ -16,6 +16,8 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/itg/itg_main_response.dart';
import 'package:mohem_flutter_app/models/itg/itg_response_model.dart';
import 'package:mohem_flutter_app/models/offers_and_discounts/get_offers_list.dart'; import 'package:mohem_flutter_app/models/offers_and_discounts/get_offers_list.dart';
import 'package:mohem_flutter_app/models/privilege_list_model.dart'; import 'package:mohem_flutter_app/models/privilege_list_model.dart';
import 'package:mohem_flutter_app/provider/chat_provider_model.dart'; import 'package:mohem_flutter_app/provider/chat_provider_model.dart';
@ -158,39 +160,72 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
_refreshController.refreshCompleted(); _refreshController.refreshCompleted();
} }
void checkERMChannel() { int ermIndex = 0;
data.getITGNotification().then((val) {
if (val!.result!.data != null) { void handleErmChannel(List<ItgResponseData> list) async {
print("-------------------- Survey ----------------------------"); try {
if (val.result!.data!.first.notificationType == "Survey") { if (ermIndex == list.length) {
DashboardApiClient().getAdvertisementDetail(val.result!.data!.first.notificationMasterId ?? "").then( return;
(value) {
if (value!.mohemmItgResponseItem!.statusCode == 200) {
if (value.mohemmItgResponseItem!.result!.data != null) {
// Navigator.pushNamed(context, AppRoutes.survey, arguments: val.result!.data);
Navigator.pushNamed(context, AppRoutes.survey, arguments: value.mohemmItgResponseItem!.result!.data!.first);
// Navigator.pushNamed(context, AppRoutes.advertisement, arguments: {
// "masterId": val.result!.data!.notificationMasterId,
// "advertisement": value.mohemmItgResponseItem!.result!.data!.advertisement,
// });
}
} }
}, Utils.showLoading(context);
); ItgMainRes? response = await DashboardApiClient().getAdvertisementDetail(list[ermIndex].notificationMasterId ?? "");
Utils.hideLoading(context);
if (response!.mohemmItgResponseItem!.result!.data != null) {
if (list[ermIndex].notificationType == "Survey") {
await Navigator.pushNamed(context, AppRoutes.survey, arguments: response.mohemmItgResponseItem!.result!.data!.first);
} else { } else {
print("------------------------------------------- Ads --------------------"); await Navigator.pushNamed(context, AppRoutes.advertisement, arguments: {
DashboardApiClient().getAdvertisementDetail(val.result!.data!.first.notificationMasterId ?? "").then( "masterId": list[ermIndex].notificationMasterId,
(value) { "advertisement": response.mohemmItgResponseItem!.result!.data!.first.advertisement,
if (value!.mohemmItgResponseItem!.statusCode == 200) {
if (value.mohemmItgResponseItem!.result!.data != null) {
Navigator.pushNamed(context, AppRoutes.advertisement, arguments: {
"masterId": val.result!.data!.first.notificationMasterId,
"advertisement": value.mohemmItgResponseItem!.result!.data!.first.advertisement,
}); });
} }
} }
}, ermIndex++;
); handleErmChannel(list);
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
return;
}
}
void checkERMChannel() {
data.getITGNotification().then((val) async {
if (val!.result!.data != null) {
ermIndex = 0;
val.result?.data?.removeWhere((element) => element.notificationType == "Announcement");
handleErmChannel(val.result?.data ?? []);
{
// if (ERMvalue.notificationType == "Survey") {
// await DashboardApiClient().getAdvertisementDetail(val.result!.data!.first.notificationMasterId ?? "").then(
// (value) async {
// if (value!.mohemmItgResponseItem!.statusCode == 200) {
// if (value.mohemmItgResponseItem!.result!.data != null) {
// // Navigator.pushNamed(context, AppRoutes.survey, arguments: val.result!.data);
// await Navigator.pushNamed(context, AppRoutes.survey, arguments: value.mohemmItgResponseItem!.result!.data!.first);
// // Navigator.pushNamed(context, AppRoutes.advertisement, arguments: {
// // "masterId": val.result!.data!.notificationMasterId,
// // "advertisement": value.mohemmItgResponseItem!.result!.data!.advertisement,
// // });
// }
// }
// },
// );
// } else {
// print("------------------------------------------- Ads --------------------");
// await DashboardApiClient().getAdvertisementDetail(ERMvalue.notificationMasterId ?? "").then(
// (value) async {
// if (value!.mohemmItgResponseItem!.statusCode == 200) {
// if (value.mohemmItgResponseItem!.result!.data != null) {
// await Navigator.pushNamed(context, AppRoutes.advertisement, arguments: {
// "masterId": val.result!.data!.first.notificationMasterId,
// "advertisement": value.mohemmItgResponseItem!.result!.data!.first.advertisement,
// });
// }
// }
// },
// );
// }
} }
} }
}); });
@ -535,7 +570,8 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
], ],
), ),
).onPress(() { ).onPress(() {
Navigator.pushNamed(context, AppRoutes.marathonTutorialScreen); checkERMChannel();
// Navigator.pushNamed(context, AppRoutes.marathonTutorialScreen);
}), }),
], ],
), ),

@ -35,7 +35,9 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
bool isImage = false; bool isImage = false;
bool isAudio = false; bool isAudio = false;
String ext = ''; String ext = '';
late File imageFile;
// late File imageFile;
late String imageUrl;
ads.Advertisement? advertisementData; ads.Advertisement? advertisementData;
dynamic data; dynamic data;
String? masterID; String? masterID;
@ -47,12 +49,13 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
late CountdownTimerController timerController; late CountdownTimerController timerController;
void checkFileType() async { void checkFileType() {
String? rFile = advertisementData!.viewAttachFileColl!.first.base64String; String? rFile = advertisementData!.viewAttachFileColl!.first.base64String;
String? rFileExt = advertisementData!.viewAttachFileColl!.first.fileName; String? rFileExt = advertisementData!.viewAttachFileColl!.first.fileName;
ext = "." + rFileExt!.split(".").last.toLowerCase(); ext = "." + rFileExt!.split(".").last.toLowerCase();
if (ext == ".png" || ext == ".jpg" || ext == ".jpeg" || ext == ".gif") { if (ext == ".png" || ext == ".jpg" || ext == ".jpeg" || ext == ".gif") {
await processImage(rFile!); // await processImage();
imageUrl = rFile!;
isImage = true; isImage = true;
} else { } else {
if (ext == ".aac") { if (ext == ".aac") {
@ -62,11 +65,11 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
_futureController = createVideoPlayer(rFile!); _futureController = createVideoPlayer(rFile!);
} }
advertisementData?.actionButtonsColl!.forEach((element) { // advertisementData?.actionButtonsColl!.forEach((element) {
advertisementData?.actionButtonsColl!.removeWhere((element1) => element1.actionButtonId == advertisementData?.skipButtonId); advertisementData?.actionButtonsColl!.removeWhere((element1) => element1.actionButtonId == advertisementData?.skipButtonId);
}); //});
setState(() {}); // setState(() {});
} }
void changeTimer(bool isTimerEnd) { void changeTimer(bool isTimerEnd) {
@ -80,16 +83,17 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
timerController.dispose(); timerController.dispose();
} }
Future processImage(String encodedBytes) async { //
try { // Future processImage(String encodedBytes) async {
Uint8List decodedBytes = base64Decode(encodedBytes.split("base64,").last); // try {
Directory appDocumentsDirectory = await getApplicationDocumentsDirectory(); // 1 // Uint8List decodedBytes = base64Decode(encodedBytes.split("base64,").last);
imageFile = Io.File("${appDocumentsDirectory.path}/addImage$ext"); // Directory appDocumentsDirectory = await getApplicationDocumentsDirectory(); // 1
imageFile.writeAsBytesSync(decodedBytes); // imageFile = Io.File("${appDocumentsDirectory.path}/addImage$ext");
} catch (e) { // imageFile.writeAsBytesSync(decodedBytes);
logger.d(e); // } catch (e) {
} // logger.d(e);
} // }
// }
Future<VideoPlayerController> createVideoPlayer(String encodedBytes) async { Future<VideoPlayerController> createVideoPlayer(String encodedBytes) async {
try { try {
@ -177,9 +181,7 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
String? btnText = AppState().isArabic(context) ? advertisementData?.actionButtonsColl![index].btnTextAr : advertisementData?.actionButtonsColl![index].btnTextEn; String? btnText = AppState().isArabic(context) ? advertisementData?.actionButtonsColl![index].btnTextAr : advertisementData?.actionButtonsColl![index].btnTextEn;
return DefaultButton(btnText!, () async { return DefaultButton(btnText!, () async {
Navigator.pop(context); Navigator.pop(context);
DashboardApiClient() DashboardApiClient().setAdvertisementViewed(masterID!, advertisementData!.advertisementId!, advertisementData?.actionButtonsColl![index].actionValue).then((value) {
.setAdvertisementViewed(masterID!, advertisementData!.advertisementId!, advertisementData?.actionButtonsColl![index].actionValue)
.then((value) {
logger.d(value); logger.d(value);
}); });
}).paddingOnly(left: 60.0, right: 60.0, top: 8, bottom: 8); }).paddingOnly(left: 60.0, right: 60.0, top: 8, bottom: 8);
@ -266,7 +268,7 @@ class _ITGAdsScreenState extends State<ITGAdsScreen> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Image.file(imageFile), Image.network(imageUrl),
50.height, 50.height,
Container(padding: const EdgeInsets.all(16), decoration: Utils.containerRadius(MyColors.white, 10), child: const Icon(Icons.thumb_up, color: MyColors.gradiantEndColor)).onPress( Container(padding: const EdgeInsets.all(16), decoration: Utils.containerRadius(MyColors.white, 10), child: const Icon(Icons.thumb_up, color: MyColors.gradiantEndColor)).onPress(
() { () {

@ -15,6 +15,8 @@ import 'package:mohem_flutter_app/models/itg/itg_response_model.dart';
import 'package:mohem_flutter_app/models/itg/survey_model.dart'; import 'package:mohem_flutter_app/models/itg/survey_model.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:flutter/widgets.dart' as fw;
class SurveyScreen extends StatefulWidget { class SurveyScreen extends StatefulWidget {
const SurveyScreen({Key? key}) : super(key: key); const SurveyScreen({Key? key}) : super(key: key);
@ -47,6 +49,8 @@ class _SurveyScreenState extends State<SurveyScreen> {
body: Column( body: Column(
children: [ children: [
Expanded( Expanded(
child: Directionality(
textDirection: AppState().isArabic(context) ? fw.TextDirection.rtl : fw.TextDirection.ltr,
child: ListView( child: ListView(
children: [ children: [
Padding( Padding(
@ -70,6 +74,7 @@ class _SurveyScreenState extends State<SurveyScreen> {
).paddingOnly(left: 21, right: 21), ).paddingOnly(left: 21, right: 21),
), ),
], ],
),
)), )),
DefaultButton( DefaultButton(
LocaleKeys.submitSurvey.tr(), LocaleKeys.submitSurvey.tr(),

Loading…
Cancel
Save