Track Gaz Refills [Most Recent]

main_design2.0
zaid_daoud 2 years ago
parent c52d7cd527
commit 232713f841

@ -49,7 +49,7 @@ class GasRefillProvider extends ChangeNotifier {
Future<int> getRequests({
@required String host,
@required User user,
bool mostRecent,
@required bool mostRecent,
}) async {
if (isLoading == true) return -2;
isLoading = true;
@ -59,24 +59,17 @@ class GasRefillProvider extends ChangeNotifier {
Map<String, dynamic> body = {};
body["pageNumber"] = (items?.length ?? 0) ~/ pageItemNumber + 1;
body["pageSize"] = pageItemNumber;
body["mostRecent"] = mostRecent;
print("url:${URLs.getGasRefill}:body:$body");
response = await ApiManager.instance.post(
URLs.getGasRefill,
body: body,
);
response = await ApiManager.instance.post(URLs.getGasRefill, body: body);
stateCode = response.statusCode;
if (stateCode >= 200 && stateCode < 300) {
// client's request was successfully received
List requestsListJson = json.decode(response.body)["data"];
List<GasRefillModel> itemsPage = requestsListJson.map((request) => GasRefillModel.fromJson(request)).toList();
if (mostRecent != null) {
items = [];
} else {
items ??= [];
}
items ??= [];
items.addAll(itemsPage);
sortMostRecent(items, mostRecent);
notifyListeners();
if (itemsPage.length == pageItemNumber) {
nextPage = true;
@ -96,12 +89,6 @@ class GasRefillProvider extends ChangeNotifier {
}
}
void sortMostRecent(List<GasRefillModel> models, bool mostRecent) {
if (mostRecent != null) {
models.sort((prev, next) => (mostRecent ?? false) ? next.title.compareTo(prev.title) : prev.title.compareTo(next.title));
}
}
Future<int> createModel({
@required String host,
@required User user,

@ -69,7 +69,7 @@ class PreventiveMaintenanceVisitsProvider extends ChangeNotifier {
// client's request was successfully received
List requestsListJson = json.decode(utf8.decode(response.bodyBytes));
List<Visit> _visits = requestsListJson.map((request) => Visit.fromJson(request)).toList();
if (visits == null) visits = [];
visits ??= [];
visits.addAll(_visits);
if (_visits.length == pageItemNumber) {
nextPage = true;

@ -25,7 +25,7 @@ class _TrackGasRefillPageState extends State<TrackGasRefillPage> with TickerProv
GasRefillProvider _gasRefillProvider;
UserProvider _userProvider;
SettingProvider _settingProvider;
bool mostRecent = false;
bool mostRecent = true;
@override
Widget build(BuildContext context) {
@ -49,6 +49,7 @@ class _TrackGasRefillPageState extends State<TrackGasRefillPage> with TickerProv
await _gasRefillProvider.getRequests(
user: _userProvider.user,
host: _settingProvider.host,
mostRecent: mostRecent,
);
},
child: Stack(
@ -86,6 +87,7 @@ class _TrackGasRefillPageState extends State<TrackGasRefillPage> with TickerProv
value: mostRecent,
onChange: (value) async {
mostRecent = value;
_gasRefillProvider.reset();
await _gasRefillProvider.getRequests(
user: _userProvider.user,
host: _settingProvider.host,
@ -101,6 +103,7 @@ class _TrackGasRefillPageState extends State<TrackGasRefillPage> with TickerProv
await _gasRefillProvider.getRequests(
user: _userProvider.user,
host: _settingProvider.host,
mostRecent: mostRecent,
);
},
items: _gasRefillProvider.items,

Loading…
Cancel
Save