loginRegisterProvider method

Future<void> loginRegisterProvider({
  1. required UserModel user,
  2. String? redirect,
})

Implementation

Future<void> loginRegisterProvider({required UserModel user, String? redirect}) async {
  try {
    businessController.showDialogProgress(show: true);
    var userObj = await userRepository.loginRegisterProvider(user: user);
    businessController.showDialogProgress(show: false);
    if (userObj == null) {
      DialogView.showAlertDialog(msg: 'msg_TraitementImpossible'.tr);
      update();
      return;
    }
    businessController.setUserConnected(user: userObj);
    businessController.getUserConnected();
    await senderFirebaseMessageService.getDeviceToken();
    await Get.find<SenderFirebaseMessageService>().getDeviceToken();
    String msgWelCome = '${'msg_Welcome_again'.tr} ${userObj.nomComplet}';
    DialogView.showToast(msgWelCome);
    //getActionsAfter(users: usersModel);
    businessController.showDialogProgress(show: false);
    //Navigator.of(context).pop(true);
    update();
    String rn0 = TypeSafeConversion.nullSafeString(redirect);
    if( rn0==Constant.closeAfter) {
      Navigator.of(Get.context!).pop(true);
      businessController.showDialogProgress(show: false);
      return;
    }
    //Navigator.pushReplacementNamed(context, rn);
    //RouteHelperAuth.navToReplacementPage(rn0);
    Navigator.of(Get.context!).pop(true);
  } on SocketException catch (ex, trace) {
    setConnectivity();
    logError(ex, trace: trace, position: 'SocketException::loginOnServer');
  } on TextEmptyException catch (ex, trace) {
    DialogView.showAlertDialog(msg: 'msg_username_incorrect'.tr);
    logError(ex, trace: trace, position: 'login');
  } on Exception catch (ex, trace) {
    DialogView.showAlertDialog(msg: 'msg_TraitementImpossible'.tr);
    logError(ex,
        trace: trace, position: 'Utilities.Exception::loginOnServer');
  } catch (ex, trace) {
    DialogView.showAlertDialog(msg: 'msg_TraitementImpossible'.tr);
    logError(ex, trace: trace, position: 'catch::loginOnServer');
  }
  businessController.showDialogProgress(show: false);
}