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.
tangheem/lib/api/tangheem_user_api_client.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);
}
}