|
|
|
|
import 'dart:async';
|
|
|
|
|
|
|
|
|
|
import 'package:tangheem/models/country_model.dart';
|
|
|
|
|
import 'package:tangheem/models/general_response_model.dart';
|
|
|
|
|
import 'package:tangheem/models/tangheem_type_model.dart';
|
|
|
|
|
import 'api_client.dart';
|
|
|
|
|
import 'package:tangheem/classes/consts.dart';
|
|
|
|
|
import 'package:tangheem/models/aya_model.dart';
|
|
|
|
|
import 'package:tangheem/models/surah_model.dart';
|
|
|
|
|
|
|
|
|
|
class TangheemUserApiClient {
|
|
|
|
|
static final TangheemUserApiClient _instance = TangheemUserApiClient._internal();
|
|
|
|
|
TangheemUserApiClient._internal();
|
|
|
|
|
factory TangheemUserApiClient() => _instance;
|
|
|
|
|
|
|
|
|
|
Future<SurahModel> getSurahs() async {
|
|
|
|
|
String url = "${ApiConsts.tangheemUsers}AlSuar_Get";
|
|
|
|
|
var postParams = {};
|
|
|
|
|
return await ApiClient().postJsonForObject((json) => SurahModel.fromJson(json), url, postParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<AyaModel> getAyaByRange(int itemsPerPage, int currentPageNo, int surahID, int ayahFrom, int ayahTo) async {
|
|
|
|
|
String url = "${ApiConsts.tangheemUsers}AyatByRange_Get";
|
|
|
|
|
var postParams = {"itemsPerPage": itemsPerPage, "currentPageNo": currentPageNo, "sortFieldName": "string", "isSortAsc": true, "surahID": surahID, "ayahFrom": ayahFrom, "ayahTo": ayahTo};
|
|
|
|
|
return await ApiClient().postJsonForObject((json) => AyaModel.fromJson(json), url, postParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<TangheemType> getTangheemType() async {
|
|
|
|
|
String url = "${ApiConsts.tangheemUsers}TangheemType_Get";
|
|
|
|
|
var postParams = {};
|
|
|
|
|
return await ApiClient().postJsonForObject((json) => TangheemType.fromJson(json), url, postParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<GeneralResponseModel> contactUs(String firstName, String lastName, String email, String phone, String description) async {
|
|
|
|
|
String url = "${ApiConsts.tangheemUsers}ContactUs_Add";
|
|
|
|
|
var postParams = {"firstName": firstName, "lastName": lastName, "email": email, "phone": phone, "description": description};
|
|
|
|
|
return await ApiClient().postJsonForObject((json) => GeneralResponseModel.fromJson(json), url, postParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<CountryModel> getCountry() async {
|
|
|
|
|
String url = "${ApiConsts.tangheemUsers}Country_Get";
|
|
|
|
|
var postParams = {};
|
|
|
|
|
return await ApiClient().postJsonForObject((json) => CountryModel.fromJson(json), url, postParams);
|
|
|
|
|
}
|
|
|
|
|
}
|