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.
mohemm-flutter-app/lib/models/privilege_list_model.dart

39 lines
1.3 KiB
Dart

import 'dart:convert';
import 'package:mohem_flutter_app/classes/consts.dart';
import 'package:shared_preferences/shared_preferences.dart';
class PrivilegeListModel {
int? iD;
String? serviceName;
bool? previlege;
PrivilegeListModel({this.iD, this.serviceName, this.previlege});
PrivilegeListModel.fromJson(Map<String, dynamic> json) {
iD = json['ID'];
serviceName = json['ServiceName'];
previlege = json['Previlege'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD;
data['ServiceName'] = this.serviceName;
data['Previlege'] = this.previlege;
return data;
}
static Future<List<PrivilegeListModel>> getFromPrefs() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List encodedList = prefs.getStringList(SharedPrefsConsts.privilegeList) ?? [];
return encodedList.map((e) => PrivilegeListModel.fromJson(jsonDecode(e))).toList();
}
static void saveToPrefs(List<PrivilegeListModel> list) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> encodedList = list.map((e) => jsonEncode(e.toJson())).toList();
await prefs.setStringList(SharedPrefsConsts.privilegeList, encodedList);
}
}