null safety

This commit is contained in:
phyothandar
2021-09-10 16:48:21 +06:30
parent 03c5fc5016
commit bb4f4ad7c2
40 changed files with 393 additions and 352 deletions

View File

@@ -14,14 +14,14 @@ import 'package:fcs/pages/widgets/local_title.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_icons_null_safety/flutter_icons_null_safety.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'widgets.dart';
class ShipmentAssign extends StatefulWidget {
final Shipment shipment;
final Shipment? shipment;
ShipmentAssign({this.shipment});
@override
@@ -38,13 +38,13 @@ class _ShipmentAssignState extends State<ShipmentAssign> {
TextEditingController _pickupDate = new TextEditingController();
TextEditingController _handlingFee = new TextEditingController();
Shipment _shipment;
Shipment? _shipment;
bool _isLoading = false;
var now = new DateTime.now();
String _selectedShipmentType;
User _user;
List<User> _users;
String? _selectedShipmentType;
User? _user;
List<User>? _users;
@override
void initState() {
@@ -53,18 +53,19 @@ class _ShipmentAssignState extends State<ShipmentAssign> {
_shipment = widget.shipment;
_loadUsers();
_selectedShipmentType = _shipment.shipmentType;
_fromTimeEditingController.text = _shipment.pickupTimeStart;
_toTimeEditingController.text = _shipment.pickupTimeEnd;
_pickupDate.text = dateFormatter.format(_shipment.pickupDate ?? now);
_handlingFee.text = _shipment.handlingFee?.toString() ?? "0";
_selectedShipmentType = _shipment!.shipmentType;
_fromTimeEditingController.text = _shipment!.pickupTimeStart!;
_toTimeEditingController.text = _shipment!.pickupTimeEnd!;
_pickupDate.text = dateFormatter.format(_shipment!.pickupDate! ?? now);
_handlingFee.text = _shipment!.handlingFee != null
? _shipment!.handlingFee.toString()
: "0";
}
_loadUsers() async {
StaffModel staffModel = Provider.of<StaffModel>(context, listen: false);
var users = await staffModel.getPickupEmployees();
var selectUser = users.firstWhere((e) => e.id == _shipment.pickupUserID,
orElse: () => null);
var selectUser = users.firstWhere((e) => e.id == _shipment!.pickupUserID);
setState(() {
_users = users;
_user = selectUser;
@@ -74,7 +75,7 @@ class _ShipmentAssignState extends State<ShipmentAssign> {
@override
Widget build(BuildContext context) {
ShipmentModel pickupModel = Provider.of<ShipmentModel>(context);
final shipmentNumberBox = getShipmentNumberStatus(context, _shipment);
final shipmentNumberBox = getShipmentNumberStatus(context, _shipment!);
bool isLocalPickup = _selectedShipmentType == shipment_local_pickup;
bool isCourierPickup = _selectedShipmentType == shipment_courier_pickup;
bool isLocalDropoff = _selectedShipmentType == shipment_local_dropoff;
@@ -146,15 +147,15 @@ class _ShipmentAssignState extends State<ShipmentAssign> {
}
_save() async {
_shipment.pickupUserID = this._user.id;
_shipment.handlingFee = double.tryParse(_handlingFee.text) ?? 0;
_shipment!.pickupUserID = this._user!.id;
_shipment!.handlingFee = double.tryParse(_handlingFee.text) ?? 0;
setState(() {
_isLoading = true;
});
try {
ShipmentModel shipmentModel =
Provider.of<ShipmentModel>(context, listen: false);
await shipmentModel.assignShipment(_shipment);
await shipmentModel.assignShipment(_shipment!);
Navigator.pop(context, true);
} catch (e) {
showMsgDialog(context, "Error", e.toString());