diff --git a/lib/api/user_api_client.dart b/lib/api/user_api_client.dart index b13eaca..3a3e3ef 100644 --- a/lib/api/user_api_client.dart +++ b/lib/api/user_api_client.dart @@ -7,6 +7,34 @@ class UserApiClient { UserApiClient._internal(); factory UserApiClient() => _instance; + Future registerUser( + String _firstName, + String _lastName, + String _email, + String _password, + String _phone, + ) async { + String url = "${ApiConsts.user}UserRegistration_Add"; + var postParams = { + "password": _password, + "email": _email, + "firstName": _firstName, + "secondName": "", + "thirdName": "", + "lastName": _lastName, + "countryCode": "string", + "mobileNumber": _phone, + "isUserLock": false, + "gender": 0, + "passWrongAttempt": 0, + "statusId": 0, + "isEmailVerified": true, + "isMobileVerified": true + }; + + return await ApiClient().postJsonForObject((json) => GeneralResponseModel.fromJson(json), url, postParams); + } + Future forgotPassword(String _email) async { String url = "${ApiConsts.user}ForgotPassword"; var postParams = {"email": _email}; diff --git a/lib/models/general_response_model.dart b/lib/models/general_response_model.dart index 6fea371..ce505ed 100644 --- a/lib/models/general_response_model.dart +++ b/lib/models/general_response_model.dart @@ -7,7 +7,7 @@ class GeneralResponseModel { GeneralResponseModel.fromJson(Map json) { statusCode = json['statusCode']; - message = json['message']; + message = json['message'] ?? json['statusMessage']; result = json['result']; } diff --git a/lib/ui/screens/registration_screen.dart b/lib/ui/screens/registration_screen.dart index 9e31dbc..2a0fd94 100644 --- a/lib/ui/screens/registration_screen.dart +++ b/lib/ui/screens/registration_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:tangheem/api/user_api_client.dart'; import 'package:tangheem/classes/colors.dart'; import 'package:tangheem/classes/utils.dart'; import 'package:tangheem/widgets/common_textfield_widget.dart'; @@ -31,6 +32,18 @@ class _RegistrationScreenState extends State { super.initState(); } + void registerUser(String email, String password) async { + Utils.showLoading(context); + try { + await UserApiClient().registerUser("", "", email, password, _mobileNumberController.text); + Utils.showToast("Register successfully"); + } catch (ex, tr) { + Utils.handleException(ex, null); + } finally { + Utils.hideLoading(context); + } + } + @override void dispose() { super.dispose();