null safety

This commit is contained in:
Phaung Phaung
2021-09-10 16:48:20 +06:30
parent 52fe4b4568
commit 0f84fec2f7
12 changed files with 103 additions and 106 deletions

View File

@@ -64,7 +64,7 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
_destinationController.text = _shipment.destination ?? "";
} else {
var mainModel = Provider.of<MainModel>(context, listen: false);
_currentShipmentType = mainModel.setting.shipmentTypes[0];
_currentShipmentType = mainModel.setting!.shipmentTypes[0];
}
}
@@ -149,7 +149,7 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
labelText: AppTranslations.of(context)!
.text('FCSshipment.shipment_type'),
icon: Icon(Ionicons.ios_airplane, color: primaryColor)),
items: mainModel.setting.shipmentTypes
items: mainModel.setting!.shipmentTypes
.map((e) => DropdownMenuItem(child: Text(e), value: e))
.toList(),
onChanged: (String? selected) => {
@@ -288,7 +288,7 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
_consigneeController.text != "" ||
_portController.text != "" ||
_destinationController.text != "" ||
_currentShipmentType != mainModel.setting.shipmentTypes[0];
_currentShipmentType != mainModel.setting!.shipmentTypes[0];
} else {
FcsShipment fcsShipment = _getPayload();
return widget.shipment!.isChangedForEdit(fcsShipment);

View File

@@ -11,13 +11,13 @@ import 'package:logging/logging.dart';
class FcsShipmentModel extends BaseModel {
final log = Logger('FcsShipmentModel');
StreamSubscription<QuerySnapshot> listener;
StreamSubscription<QuerySnapshot>? listener;
List<FcsShipment> _fcsShipments = [];
List<FcsShipment> get fcsShipments => _selectedIndex == 1
? _fcsShipments
: List<FcsShipment>.from(_shipped.values);
Paginator _shipped;
late Paginator _shipped;
bool isLoading = false;
int _selectedIndex = 1;
set selectedIndex(int index) {
@@ -25,7 +25,7 @@ class FcsShipmentModel extends BaseModel {
notifyListeners();
}
get selectedIndex => _selectedIndex;
int get selectedIndex => _selectedIndex;
@override
void privilegeChanged() {
@@ -43,12 +43,12 @@ class FcsShipmentModel extends BaseModel {
}
Future<void> _loadFcsShipments() async {
if (user == null || !user.hasFcsShipments()) return;
if (user == null || !user!.hasFcsShipments()) throw "No Privilege";
String path = "/$fcs_shipment_collection/";
if (listener != null) listener.cancel();
if (listener != null) listener!.cancel();
_fcsShipments = [];
try {
listener = Firestore.instance
listener = FirebaseFirestore.instance
.collection("$path")
.where("status", isEqualTo: fcs_shipment_confirmed_status)
.where("is_deleted", isEqualTo: false)
@@ -56,9 +56,9 @@ class FcsShipmentModel extends BaseModel {
.snapshots()
.listen((QuerySnapshot snapshot) {
_fcsShipments.clear();
_fcsShipments = snapshot.documents.map((documentSnapshot) {
_fcsShipments = snapshot.docs.map((documentSnapshot) {
var s = FcsShipment.fromMap(
documentSnapshot.data, documentSnapshot.documentID);
documentSnapshot.data as Map<String,dynamic>, documentSnapshot.id);
return s;
}).toList();
notifyListeners();
@@ -69,9 +69,9 @@ class FcsShipmentModel extends BaseModel {
}
Paginator _getShipped() {
if (user == null || !user.hasFcsShipments()) return null;
if (user == null || !user!.hasFcsShipments()) throw "No Privilege";
var pageQuery = Firestore.instance
var pageQuery = FirebaseFirestore.instance
.collection("/$fcs_shipment_collection")
.where("status", isEqualTo: fcs_shipment_shipped_status)
.where("is_deleted", isEqualTo: false)
@@ -102,13 +102,13 @@ class FcsShipmentModel extends BaseModel {
Future<List<FcsShipment>> getActiveFcsShipments() async {
List<FcsShipment> fcsShipments = [];
try {
var snaps = await Firestore.instance
var snaps = await FirebaseFirestore.instance
.collection("/$fcs_shipment_collection")
.where("status", isEqualTo: fcs_shipment_confirmed_status)
.getDocuments(source: Source.server);
fcsShipments = snaps.documents.map((documentSnapshot) {
.get(const GetOptions(source: Source.server));
fcsShipments = snaps.docs.map((documentSnapshot) {
var fcs = FcsShipment.fromMap(
documentSnapshot.data, documentSnapshot.documentID);
documentSnapshot.data as Map<String,dynamic>, documentSnapshot.id);
return fcs;
}).toList();
} catch (e) {
@@ -117,13 +117,13 @@ class FcsShipmentModel extends BaseModel {
return fcsShipments;
}
Future<FcsShipment> getFcsShipment(String id) async {
Future<FcsShipment?> getFcsShipment(String id) async {
try {
var snap = await Firestore.instance
var snap = await FirebaseFirestore.instance
.collection("/$fcs_shipment_collection")
.document(id)
.get(source: Source.server);
var fcs = FcsShipment.fromMap(snap.data, snap.documentID);
.doc(id)
.get(const GetOptions(source: Source.server));
var fcs = FcsShipment.fromMap(snap.data as Map<String,dynamic>, snap.id);
return fcs;
} catch (e) {
@@ -135,13 +135,13 @@ class FcsShipmentModel extends BaseModel {
Future<List<FcsShipment>> getInvoiceFcsShipments() async {
List<FcsShipment> fcsShipments = [];
try {
var snaps = await Firestore.instance
var snaps = await FirebaseFirestore.instance
.collection("/$fcs_shipment_collection")
.where("pending_invoice_user_count", isGreaterThan: 0)
.getDocuments(source: Source.server);
fcsShipments = snaps.documents.map((documentSnapshot) {
.get(const GetOptions(source: Source.server));
fcsShipments = snaps.docs.map((documentSnapshot) {
var fcs = FcsShipment.fromMap(
documentSnapshot.data, documentSnapshot.documentID);
documentSnapshot.data as Map<String,dynamic>, documentSnapshot.id);
return fcs;
}).toList();
} catch (e) {
@@ -156,7 +156,7 @@ class FcsShipmentModel extends BaseModel {
@override
logout() async {
if (listener != null) await listener.cancel();
if (listener != null) await listener!.cancel();
if (_shipped != null) _shipped.close();
_fcsShipments = [];
}