You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
4.1 KiB
Dart
80 lines
4.1 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:tangheem/models/aya_tangheem_property.dart';
|
|
import 'package:tangheem/models/aya_tangheem_type.dart';
|
|
import 'package:tangheem/models/aya_tangheem_type_mapped.dart';
|
|
import 'package:tangheem/models/country_model.dart';
|
|
import 'package:tangheem/models/general_response_model.dart';
|
|
import 'package:tangheem/models/quick_links_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<AyatTangheemTypeMapped> getTangheemBySurah(int surahId) async {
|
|
String url = "${ApiConsts.tangheemUsers}AyatTangheemTypeMapped_Get";
|
|
var postParams = {"surahNo": surahId};
|
|
return await ApiClient().postJsonForObject((json) => AyatTangheemTypeMapped.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, "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<AyatTangheemTypeMapped> getAyaTangheemTypeMapped(int surahNo, String tangheemTypeName) async {
|
|
String url = "${ApiConsts.tangheemUsers}AyatTangheemTypeMapped_Get";
|
|
var postParams = {"surahNo": surahNo, "tangheemTypeName": tangheemTypeName};
|
|
return await ApiClient().postJsonForObject((json) => AyatTangheemTypeMapped.fromJson(json), url, postParams);
|
|
}
|
|
|
|
Future<AyaTangheemType> getAyaTangheemType(int currentPage, int surahNo, String tangheemTypeName) async {
|
|
String url = "${ApiConsts.tangheemUsers}AyaTangheemType_Get";
|
|
var postParams = {"itemsPerPage": 5, "currentPageNo": currentPage, "surahNo": surahNo, "tangheemTypeName": tangheemTypeName};
|
|
return await ApiClient().postJsonForObject((json) => AyaTangheemType.fromJson(json), url, postParams);
|
|
}
|
|
|
|
Future<AyaTangheemProperty> getAyaTangheemProperty(int currentPage, int surahNo, String tangheemTypeName) async {
|
|
String url = "${ApiConsts.tangheemUsers}AyaTangheemProperty_Get";
|
|
var postParams = {"itemsPerPage": 5, "currentPageNo": currentPage, "surahNo": surahNo, "tangheemTypeName": tangheemTypeName};
|
|
return await ApiClient().postJsonForObject((json) => AyaTangheemProperty.fromJson(json), url, postParams);
|
|
}
|
|
|
|
Future<QuickLinksModel> quickLinks() async {
|
|
String url = "${ApiConsts.tangheemUsers}QuickLinks_Get";
|
|
var postParams = {};
|
|
return await ApiClient().postJsonForObject((json) => QuickLinksModel.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);
|
|
}
|
|
}
|