175 lines
5.3 KiB
Dart
175 lines
5.3 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:unit2/model/location/country.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:unit2/model/location/region.dart';
|
|
import 'package:unit2/model/utils/eligibility.dart';
|
|
import 'package:unit2/utils/request.dart';
|
|
import 'package:unit2/utils/urls.dart';
|
|
|
|
import '../model/profile/basic_information/contact_information.dart';
|
|
import '../model/profile/family_backround.dart';
|
|
import '../model/utils/agency.dart';
|
|
import '../model/utils/category.dart';
|
|
import '../model/utils/position.dart';
|
|
|
|
class ProfileUtilities {
|
|
static final ProfileUtilities _instance = ProfileUtilities();
|
|
static ProfileUtilities get instance => _instance;
|
|
|
|
Future<List<Eligibility>> getEligibilities() async {
|
|
List<Eligibility> eligibilities = [];
|
|
String path = Url.instance.eligibilities();
|
|
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(path: path, param: {}, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
data['data'].forEach((var eligibility) {
|
|
Eligibility newEligibilities = Eligibility.fromJson(eligibility);
|
|
eligibilities.add(newEligibilities);
|
|
});
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw (e.toString());
|
|
}
|
|
return eligibilities;
|
|
}
|
|
|
|
////get agency position
|
|
Future<List<Position>> getAgencyPosition() async {
|
|
List<Position> agencyPositions = [];
|
|
String path = Url.instance.getPositions();
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(param: {}, path: path, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
data['data'].forEach((var agencyPosition) {
|
|
Position position = Position.fromJson(agencyPosition);
|
|
agencyPositions.add(position);
|
|
});
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw (e.toString());
|
|
}
|
|
return agencyPositions;
|
|
}
|
|
|
|
////get agencies
|
|
Future<List<Agency>> getAgecies() async {
|
|
List<Agency> agencies = [];
|
|
String path = Url.instance.getAgencies();
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(path: path, param: {}, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
data['data'].forEach((var agency) {
|
|
Agency newAgency = Agency.fromJson(agency);
|
|
agencies.add(newAgency);
|
|
});
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw e.toString();
|
|
}
|
|
return agencies;
|
|
}
|
|
|
|
////get agency category
|
|
Future<List<Category>> agencyCategory() async {
|
|
List<Category> agencyCategory = [];
|
|
String path = Url.instance.getAgencyCategory();
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(param: {}, path: path, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
data['data'].forEach((var agency) {
|
|
Category category = Category.fromJson(agency);
|
|
agencyCategory.add(category);
|
|
});
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw e.toString();
|
|
}
|
|
return agencyCategory;
|
|
}
|
|
|
|
//// get service type
|
|
Future<List<ServiceType>> getServiceType() async {
|
|
List<ServiceType> serviceTypes = [];
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
String path = Url.instance.getServiceTypes();
|
|
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(param: {}, path: path, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
for (var element in data['data']) {
|
|
ServiceType newServiceType = ServiceType.fromJson(element);
|
|
serviceTypes.add(newServiceType);
|
|
}
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw e.toString();
|
|
}
|
|
return serviceTypes;
|
|
}
|
|
|
|
//// get relationship type
|
|
Future<List<Relationship>> getRelationshipType() async {
|
|
List<Relationship> relationshipTypes= [];
|
|
Map<String, String> headers = {
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
};
|
|
String path = Url.instance.getRelationshipTypes();
|
|
|
|
try {
|
|
http.Response response = await Request.instance
|
|
.getRequest(param: {}, path: path, headers: headers);
|
|
if (response.statusCode == 200) {
|
|
Map data = jsonDecode(response.body);
|
|
if (data['data'] != null) {
|
|
for (var element in data['data']) {
|
|
Relationship relationship = Relationship.fromJson(element);
|
|
if(relationship.category=="personal reference"){
|
|
relationshipTypes.add(relationship);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
} catch (e) {
|
|
throw e.toString();
|
|
}
|
|
return relationshipTypes;
|
|
}
|
|
}
|