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.
39 lines
900 B
Dart
39 lines
900 B
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:http/http.dart';
|
|
import 'package:test_sa/api/departments_api_client.dart';
|
|
|
|
import '../../../models/department.dart';
|
|
import '../../api_routes/urls.dart';
|
|
import '../loading_notifier.dart';
|
|
|
|
class DepartmentsProvider extends LoadingNotifier {
|
|
//reset provider data
|
|
void reset() {
|
|
departments.clear();
|
|
stateCode = null;
|
|
}
|
|
|
|
// state code of current request to defied error message
|
|
// like 400 customer request failed
|
|
// 500 service not available
|
|
int? stateCode;
|
|
|
|
// contain user data
|
|
// when user not login or register _user = null
|
|
List<Department> departments=[];
|
|
|
|
Future getDepartment() async {
|
|
|
|
waitApiRequest(() async {
|
|
departments.addAll(await DepartmentsApiClient().getDepartment());
|
|
notifyListeners();
|
|
},
|
|
onSuccess: (){
|
|
stateCode=200;
|
|
}
|
|
);
|
|
}
|
|
}
|