mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-13 11:48:56 +03:30
beta commit
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:cssd/models/my_package_model.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../config/urls.dart';
|
||||
import '../config/user.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
class MyPackageProvider extends ChangeNotifier {
|
||||
String searchBoxValue = '';
|
||||
bool filterOn = false;
|
||||
List<MyPackageResultObject>? myPackages;
|
||||
List<MyPackageResultObject>? hospitalPackages;
|
||||
|
||||
List<MyPackageResultObject>? originalMyPackages;
|
||||
List<MyPackageResultObject>? originalHospitalPackages;
|
||||
|
||||
List<MyPackageResultObject>? originalMyPackagesRequests;
|
||||
List<MyPackageResultObject>? originalHospitalPackagesRequests;
|
||||
|
||||
MyPackageFilterObject? filters = MyPackageFilterObject(
|
||||
id: '',
|
||||
name: '',
|
||||
udi: '',
|
||||
);
|
||||
int pageNumber = 1;
|
||||
void resetPageNumber() => pageNumber = 1;
|
||||
bool isloading = false;
|
||||
void resetLoading() {
|
||||
isloading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setLoading() {
|
||||
isloading = true;
|
||||
// notifyListeners();
|
||||
}
|
||||
|
||||
void searchMyPackages(String value) {
|
||||
myPackages = [];
|
||||
searchBoxValue = value;
|
||||
originalMyPackages!.forEach((result) {
|
||||
if (result.id.toString().contains(searchBoxValue)) {
|
||||
myPackages!.add(result);
|
||||
}
|
||||
});
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void searchHospitalPackages(String value) {
|
||||
hospitalPackages = [];
|
||||
searchBoxValue = value;
|
||||
originalHospitalPackages!.forEach((result) {
|
||||
if (result.id.toString().contains(searchBoxValue)) {
|
||||
hospitalPackages!.add(result);
|
||||
}
|
||||
});
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setFilters(
|
||||
id,
|
||||
name,
|
||||
udi,
|
||||
) {
|
||||
pageNumber = 1;
|
||||
filters = MyPackageFilterObject(
|
||||
id: id,
|
||||
name: name,
|
||||
udi: udi,
|
||||
);
|
||||
if (filters!.id == '' && filters!.name == '' && filters!.udi == '') {
|
||||
filterOn = false;
|
||||
} else {
|
||||
filterOn = true;
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> getMyPackages() async {
|
||||
String url = Url.getMyItems(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
url += '&package_id=${filters!.id}';
|
||||
}
|
||||
if (filters!.name != '') {
|
||||
url += '&name=${filters!.name}';
|
||||
}
|
||||
if (filters!.udi != '') {
|
||||
url += '&udi=${filters!.udi}';
|
||||
}
|
||||
}
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
);
|
||||
|
||||
var packagesData = json.decode(response.body);
|
||||
|
||||
if (pageNumber == 1) {
|
||||
originalMyPackages = [];
|
||||
}
|
||||
|
||||
for (var package in packagesData['data']) {
|
||||
originalMyPackages!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
fromDate: package['transfers']['from_date'],
|
||||
toDate: package['transfers']['to_date'],
|
||||
),
|
||||
);
|
||||
}
|
||||
pageNumber += 1;
|
||||
searchMyPackages('');
|
||||
}
|
||||
|
||||
Future<void> getHospitalPackages() async {
|
||||
String url = Url.getHospitalItems(pageNumber);
|
||||
if (filterOn) {
|
||||
if (filters!.id != '') {
|
||||
url += '&package_id=${filters!.id}';
|
||||
}
|
||||
if (filters!.name != '') {
|
||||
url += '&name=${filters!.name}';
|
||||
}
|
||||
if (filters!.udi != '') {
|
||||
url += '&udi=${filters!.udi}';
|
||||
}
|
||||
}
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
);
|
||||
|
||||
var packagesData = json.decode(response.body);
|
||||
|
||||
if (pageNumber == 1) {
|
||||
originalHospitalPackages = [];
|
||||
}
|
||||
|
||||
for (var package in packagesData['data']) {
|
||||
originalHospitalPackages!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
userName: package['user'] != null ? package['user']['name'] : '',
|
||||
fromDate: package['transfers']['from_date'],
|
||||
toDate: package['transfers']['to_date'],
|
||||
),
|
||||
);
|
||||
}
|
||||
pageNumber += 1;
|
||||
searchHospitalPackages('');
|
||||
}
|
||||
|
||||
Future<void> getMyPackageRequests() async {
|
||||
String url = Url.getMyItemRequests;
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
);
|
||||
|
||||
var packagesData = json.decode(response.body);
|
||||
|
||||
originalMyPackagesRequests = [];
|
||||
|
||||
for (var package in packagesData['data']) {
|
||||
originalMyPackagesRequests!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> getHospitalPackageRequests() async {
|
||||
String url = Url.getHospitalItemRequests;
|
||||
var response = await http.get(
|
||||
Uri.parse(url),
|
||||
headers: {'Authorization': User.token, "Accept": "application/json"},
|
||||
);
|
||||
|
||||
var packagesData = json.decode(response.body);
|
||||
|
||||
originalHospitalPackagesRequests = [];
|
||||
|
||||
for (var package in packagesData['data']) {
|
||||
originalHospitalPackagesRequests!.add(
|
||||
MyPackageResultObject(
|
||||
name: package['name'],
|
||||
id: package['id'].toString(),
|
||||
userName: package['user'] != null ? package['user']['name'] : '',
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> transferPackage(String packageId, String userId) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.transferItems(packageId)),
|
||||
body: json.encode(
|
||||
{
|
||||
'user_id': userId,
|
||||
},
|
||||
),
|
||||
headers: {
|
||||
'Authorization': User.token,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json"
|
||||
},
|
||||
);
|
||||
|
||||
var packageData = json.decode(response.body);
|
||||
print(packageData);
|
||||
}
|
||||
|
||||
Future<bool> verifyPackageRequests(String id, String value) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(Url.verifyItemRequests(id, value)),
|
||||
body: json.encode({'status': value}),
|
||||
headers: {
|
||||
'Authorization': User.token,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json"
|
||||
},
|
||||
);
|
||||
|
||||
var packageData = json.decode(response.body);
|
||||
|
||||
try {
|
||||
if (packageData['data']['transfers']['status'] == 'approved') {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user