From 7ae74275cd937a2fc2aca789c3b4b63f04fe4822 Mon Sep 17 00:00:00 2001 From: Sai Naw Wun Date: Thu, 8 Oct 2020 11:38:05 +0630 Subject: [PATCH] add delivery address vo --- .../delivery_address_data_provider.dart | 24 +++++ lib/data/services/delivery_address_imp.dart | 31 +++++++ .../services/delivery_address_service.dart | 7 ++ lib/data/services/services.dart | 9 ++ lib/domain/constants.dart | 1 + lib/domain/entities/box.dart | 4 +- lib/domain/vo/delivery_address.dart | 31 +++++++ lib/domain/vo/shipping_address.dart | 15 --- lib/pages/box/box_editor.dart | 6 +- lib/pages/box/model/box_model.dart | 18 ++-- lib/pages/customer/invitation_create.dart | 2 +- .../model/fcs_shipment_model.dart | 1 + lib/pages/main/home_page.dart | 6 +- lib/pages/profile/profile_page.dart | 92 +++++++++---------- lib/pages/shipment/pickup_box_editor.dart | 4 +- lib/pages/shipment/shipment_editor.dart | 10 +- .../model/shipment_address_model.dart | 24 ++++- .../shipping_address_editor.dart | 6 +- .../shipping_address_list.dart | 4 +- .../shipping_address_row.dart | 4 +- lib/pages/signin/signin_page.dart | 2 +- lib/pages/widgets/fcs_id_icon.dart | 2 +- 22 files changed, 202 insertions(+), 101 deletions(-) create mode 100644 lib/data/provider/delivery_address_data_provider.dart create mode 100644 lib/data/services/delivery_address_imp.dart create mode 100644 lib/data/services/delivery_address_service.dart create mode 100644 lib/domain/vo/delivery_address.dart delete mode 100644 lib/domain/vo/shipping_address.dart diff --git a/lib/data/provider/delivery_address_data_provider.dart b/lib/data/provider/delivery_address_data_provider.dart new file mode 100644 index 0000000..94fa841 --- /dev/null +++ b/lib/data/provider/delivery_address_data_provider.dart @@ -0,0 +1,24 @@ +import 'package:fcs/domain/entities/fcs_shipment.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; +import 'package:fcs/helpers/api_helper.dart'; +import 'package:fcs/helpers/firebase_helper.dart'; +import 'package:logging/logging.dart'; + +class DeliveryAddressDataProvider { + final log = Logger('DeliveryAddressDataProvider'); + + Future createDeliveryAddress(DeliveryAddress deliveryAddress) async { + return await requestAPI("/delivery_address", "POST", + payload: deliveryAddress.toMap(), token: await getToken()); + } + + Future updateDeliveryAddress(DeliveryAddress deliveryAddress) async { + return await requestAPI("/delivery_address", "PUT", + payload: deliveryAddress.toMap(), token: await getToken()); + } + + Future deleteDeliveryAddress(DeliveryAddress deliveryAddress) async { + return await requestAPI("/delivery_address", "DELETE", + payload: deliveryAddress.toMap(), token: await getToken()); + } +} diff --git a/lib/data/services/delivery_address_imp.dart b/lib/data/services/delivery_address_imp.dart new file mode 100644 index 0000000..fe74fd2 --- /dev/null +++ b/lib/data/services/delivery_address_imp.dart @@ -0,0 +1,31 @@ +import 'package:fcs/data/provider/delivery_address_data_provider.dart'; +import 'package:fcs/domain/entities/connectivity.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; +import 'package:flutter/material.dart'; + +import 'delivery_address_service.dart'; + +class DeliveryAddressImp implements DeliveryAddressService { + DeliveryAddressImp({ + @required this.connectivity, + @required this.deliveryAddressDataProvider, + }); + + final Connectivity connectivity; + final DeliveryAddressDataProvider deliveryAddressDataProvider; + + @override + Future createDeliveryAddress(DeliveryAddress deliveryAddress) { + return deliveryAddressDataProvider.createDeliveryAddress(deliveryAddress); + } + + @override + Future updateDeliveryAddress(DeliveryAddress deliveryAddress) { + return deliveryAddressDataProvider.updateDeliveryAddress(deliveryAddress); + } + + @override + Future deleteDeliveryAddress(DeliveryAddress deliveryAddress) { + return deliveryAddressDataProvider.deleteDeliveryAddress(deliveryAddress); + } +} diff --git a/lib/data/services/delivery_address_service.dart b/lib/data/services/delivery_address_service.dart new file mode 100644 index 0000000..3630390 --- /dev/null +++ b/lib/data/services/delivery_address_service.dart @@ -0,0 +1,7 @@ +import 'package:fcs/domain/vo/delivery_address.dart'; + +abstract class DeliveryAddressService { + Future createDeliveryAddress(DeliveryAddress deliveryAddress); + Future updateDeliveryAddress(DeliveryAddress deliveryAddress); + Future deleteDeliveryAddress(DeliveryAddress deliveryAddress); +} diff --git a/lib/data/services/services.dart b/lib/data/services/services.dart index c629e76..a42f0ee 100644 --- a/lib/data/services/services.dart +++ b/lib/data/services/services.dart @@ -1,10 +1,14 @@ import 'package:fcs/data/provider/auth_fb.dart'; import 'package:fcs/data/provider/common_data_provider.dart'; +import 'package:fcs/data/provider/delivery_address_data_provider.dart'; import 'package:fcs/data/provider/fcs_shipment_data_provider.dart'; import 'package:fcs/data/provider/package_data_provider.dart'; import 'package:fcs/data/provider/user_data_provider.dart'; +import 'package:fcs/data/services/delivery_address_imp.dart'; +import 'package:fcs/data/services/delivery_address_service.dart'; import 'package:fcs/data/services/fcs_shipment_imp.dart'; import 'package:fcs/data/services/fcs_shipment_service.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'auth_imp.dart'; import 'auth_service.dart'; @@ -26,6 +30,7 @@ class Services { MessagingService _messagingService; CommonService _commonService; FcsShipmentService _fcsShipmentService; + DeliveryAddressService _deliveryAddressService; Services._() { _authService = AuthServiceImp( authFb: AuthFb.instance, @@ -39,6 +44,9 @@ class Services { _commonService = CommonServiceImp(commonDataProvider: CommonDataProvider()); _fcsShipmentService = FcsShipmentServiceImp( connectivity: null, shipmentDataProvider: FcsShipmentDataProvider()); + _deliveryAddressService = DeliveryAddressImp( + connectivity: null, + deliveryAddressDataProvider: DeliveryAddressDataProvider()); } AuthService get authService => _authService; @@ -47,4 +55,5 @@ class Services { PackageService get packageService => _packageService; CommonService get commonService => _commonService; FcsShipmentService get fcsShipmentService => _fcsShipmentService; + DeliveryAddressService get deliveryAddressService => _deliveryAddressService; } diff --git a/lib/domain/constants.dart b/lib/domain/constants.dart index 9c75bbd..80a7990 100644 --- a/lib/domain/constants.dart +++ b/lib/domain/constants.dart @@ -7,6 +7,7 @@ const markets_collection = "markets"; const packages_collection = "packages"; const messages_collection = "messages"; const fcs_shipment_collection = "fcs_shipments"; +const delivery_address_collection = "delivery_addresses"; const user_requested_status = "requested"; const user_invited_status = "invited"; diff --git a/lib/domain/entities/box.dart b/lib/domain/entities/box.dart index 0c19e5e..3b9fc97 100644 --- a/lib/domain/entities/box.dart +++ b/lib/domain/entities/box.dart @@ -1,5 +1,5 @@ import 'package:fcs/domain/vo/shipment_status.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'cargo.dart'; import 'package.dart'; @@ -33,7 +33,7 @@ class Box { List cargoTypes; - ShippingAddress shippingAddress; + DeliveryAddress shippingAddress; int get amount => rate != null && weight != null ? rate * weight : 0; diff --git a/lib/domain/vo/delivery_address.dart b/lib/domain/vo/delivery_address.dart new file mode 100644 index 0000000..0080b71 --- /dev/null +++ b/lib/domain/vo/delivery_address.dart @@ -0,0 +1,31 @@ +class DeliveryAddress { + String id; + String fullName; + String addressLine1; + String addressLine2; + String city; + String state; + String country; + String phoneNumber; + DeliveryAddress( + {this.fullName, + this.addressLine1, + this.addressLine2, + this.city, + this.state, + this.country, + this.phoneNumber}); + + Map toMap() { + return { + "id": id, + 'full_name': fullName, + 'address_line1': addressLine1, + 'address_line2': addressLine2, + 'city': city, + 'state': state, + 'phone_number': phoneNumber, + 'contry': country, + }; + } +} diff --git a/lib/domain/vo/shipping_address.dart b/lib/domain/vo/shipping_address.dart deleted file mode 100644 index 0baba4b..0000000 --- a/lib/domain/vo/shipping_address.dart +++ /dev/null @@ -1,15 +0,0 @@ -class ShippingAddress { - String fullName; - String addressLine1; - String addressLine2; - String city; - String state; - String phoneNumber; - ShippingAddress( - {this.fullName, - this.addressLine1, - this.addressLine2, - this.city, - this.state, - this.phoneNumber}); -} diff --git a/lib/pages/box/box_editor.dart b/lib/pages/box/box_editor.dart index 986ab94..d30c87c 100644 --- a/lib/pages/box/box_editor.dart +++ b/lib/pages/box/box_editor.dart @@ -1,7 +1,7 @@ import 'package:fcs/domain/entities/box.dart'; import 'package:fcs/domain/entities/cargo.dart'; import 'package:fcs/domain/entities/package.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/main/model/main_model.dart'; @@ -45,7 +45,7 @@ class _BoxEditorState extends State { ]; bool isNew; bool isMixBox = false; - ShippingAddress _shippingAddress = new ShippingAddress(); + DeliveryAddress _shippingAddress = new DeliveryAddress(); @override void initState() { @@ -546,7 +546,7 @@ class _BoxEditorState extends State { } List getAddressList( - BuildContext context, List addresses) { + BuildContext context, List addresses) { return addresses.asMap().entries.map((s) { return InkWell( onTap: () {}, diff --git a/lib/pages/box/model/box_model.dart b/lib/pages/box/model/box_model.dart index 2249307..eaa7034 100644 --- a/lib/pages/box/model/box_model.dart +++ b/lib/pages/box/model/box_model.dart @@ -5,7 +5,7 @@ import 'package:fcs/domain/entities/box.dart'; import 'package:fcs/domain/entities/cargo.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/vo/shipment_status.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/pages/main/model/base_model.dart'; import 'package:logging/logging.dart'; @@ -44,7 +44,7 @@ class BoxModel extends BaseModel { shipmentWeight: 6, packages: packages, shipmentHistory: statusHistory, - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -74,7 +74,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '1 Bo Yar Nyunt St.\nDagon Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'Mg Myo', addressLine1: '153-154 5th Thitsar.', addressLine2: 'South Okkalapa Township', @@ -104,7 +104,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '1 Bo Yar Nyunt St.\nDagon Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'Mg Myo', addressLine1: '153-154 5th Thitsar.', addressLine2: 'South Okkalapa Township', @@ -134,7 +134,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '2 Shwe Taung Kyar St, Bahan Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -164,7 +164,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '2 Shwe Taung Kyar St, Bahan Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -194,7 +194,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '2 Shwe Taung Kyar St, Bahan Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -224,7 +224,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '3 Kambzwza St, Bahan Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -254,7 +254,7 @@ class BoxModel extends BaseModel { shipmentHistory: statusHistory, packages: packages, receiverAddress: '3 Kambzwza St, Bahan Tsp, Yangon', - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', diff --git a/lib/pages/customer/invitation_create.dart b/lib/pages/customer/invitation_create.dart index 306e0b7..36a4e65 100644 --- a/lib/pages/customer/invitation_create.dart +++ b/lib/pages/customer/invitation_create.dart @@ -81,7 +81,7 @@ class _InvitationCreateState extends State { child: CountryCodePicker( onChanged: _countryChange, initialSelection: dialCode, - countryFilter: ['+95', '+1'], + countryFilter: ['mm', 'us'], showCountryOnly: false, showOnlyCountryWhenClosed: false, alignLeft: false, diff --git a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart index 5dc8446..2ec6051 100644 --- a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart +++ b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart @@ -27,6 +27,7 @@ class FcsShipmentModel extends BaseModel { try { listener = Firestore.instance .collection("$path") + .orderBy("shipment_number", descending: true) .snapshots() .listen((QuerySnapshot snapshot) { fcsShipments.clear(); diff --git a/lib/pages/main/home_page.dart b/lib/pages/main/home_page.dart index fcbd185..95a807a 100644 --- a/lib/pages/main/home_page.dart +++ b/lib/pages/main/home_page.dart @@ -277,7 +277,7 @@ class _HomePageState extends State { List widgets = []; widgets.add(faqBtn); if (user != null) { - true ? widgets.add(pickUpBtn) : ""; + // true ? widgets.add(pickUpBtn) : ""; !customer ? widgets.add(fcsShipmentBtn) : ""; customer ? widgets.add(notiBtn) : ""; user.hasStaffs() ? widgets.add(staffBtn) : ""; @@ -286,8 +286,8 @@ class _HomePageState extends State { true ? widgets.add(boxesBtn) : ""; true ? widgets.add(deliveryBtn) : ""; user.hasCustomers() ? widgets.add(customersBtn) : ""; - true ? widgets.add(invoicesBtn) : ""; - true ? widgets.add(discountBtn) : ""; + // true ? widgets.add(invoicesBtn) : ""; + // true ? widgets.add(discountBtn) : ""; } return OfflineRedirect( child: FlavorBanner( diff --git a/lib/pages/profile/profile_page.dart b/lib/pages/profile/profile_page.dart index f954822..12e7c30 100644 --- a/lib/pages/profile/profile_page.dart +++ b/lib/pages/profile/profile_page.dart @@ -1,5 +1,5 @@ import 'package:fcs/domain/entities/role.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/localization/transalation.dart'; import 'package:fcs/pages/main/model/language_model.dart'; @@ -60,13 +60,13 @@ class _ProfileState extends State { } final namebox = DisplayText( text: mainModel.user.name, - labelTextKey: getLocalString(context, "profile.name"), + labelTextKey: "profile.name", iconData: Icons.person, ); final phonenumberbox = DisplayText( text: mainModel.user.phone, - labelTextKey: getLocalString(context, "profile.phone"), + labelTextKey: "profile.phone", iconData: Icons.phone, ); final fcsIDBox = Row( @@ -74,7 +74,7 @@ class _ProfileState extends State { Expanded( child: DisplayText( text: mainModel.user.fcsID, - labelTextKey: getLocalString(context, "customer.fcs.id"), + labelTextKey: "customer.fcs.id", icon: FcsIDIcon(), ), ), @@ -90,8 +90,7 @@ class _ProfileState extends State { Expanded( child: DisplayText( text: mainModel.setting.usaAddress, - labelTextKey: - getLocalString(context, "profile.usa.shipping.address"), + labelTextKey: "profile.usa.shipping.address", iconData: Icons.location_on, ), ), @@ -151,18 +150,18 @@ class _ProfileState extends State { ) ], ), - // mainModel.isCustomer() - // ? Container() - // : getPrivilegeBox(context), + mainModel.isCustomer() + ? Container() + : getPrivilegeBox(context), + getShippingAddressList(context), phonenumberbox, fcsIDBox, usaShippingAddressBox, DisplayText( text: mainModel.user.status, - labelTextKey: getLocalString(context, "customer.status"), + labelTextKey: "customer.status", iconData: Icons.add_alarm, ), - // getShippingAddressList(context), ], ), ), @@ -177,50 +176,47 @@ class _ProfileState extends State { Widget getShippingAddressList(BuildContext context) { var shipmentModel = Provider.of(context); - return Container( - padding: EdgeInsets.only(top: 5, left: 10), - child: ExpansionTile( - title: Text( - "My Addresses", - style: TextStyle( - fontWeight: FontWeight.bold, fontStyle: FontStyle.normal), + return ExpansionTile( + title: Text( + "My Addresses", + style: + TextStyle(fontWeight: FontWeight.bold, fontStyle: FontStyle.normal), + ), + children: [ + Column( + children: getAddressList(context, shipmentModel.shippingAddresses), ), - children: [ - Column( - children: getAddressList(context, shipmentModel.shippingAddresses), - ), - Container( - padding: EdgeInsets.only(top: 20, bottom: 15, right: 15), - child: Align( - alignment: Alignment.bottomRight, - child: Container( - width: 130, - height: 40, - child: FloatingActionButton.extended( - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - onPressed: () { - Navigator.push( - context, - BottomUpPageRoute(ShippingAddressEditor()), - ); - }, - icon: Icon(Icons.add), - label: Text( - 'Add New\nAddress', - style: TextStyle(fontSize: 12), - ), - backgroundColor: primaryColor, + Container( + padding: EdgeInsets.only(top: 20, bottom: 15, right: 15), + child: Align( + alignment: Alignment.bottomRight, + child: Container( + width: 130, + height: 40, + child: FloatingActionButton.extended( + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + onPressed: () { + Navigator.push( + context, + BottomUpPageRoute(ShippingAddressEditor()), + ); + }, + icon: Icon(Icons.add), + label: Text( + 'Add New\nAddress', + style: TextStyle(fontSize: 12), ), + backgroundColor: primaryColor, ), ), - ) - ], - ), + ), + ) + ], ); } List getAddressList( - BuildContext context, List addresses) { + BuildContext context, List addresses) { return addresses.asMap().entries.map((s) { return InkWell( onTap: () { @@ -246,7 +242,7 @@ class _ProfileState extends State { var languageModel = Provider.of(context); return ListTileTheme( - contentPadding: EdgeInsets.all(0), + contentPadding: EdgeInsets.all(10), child: ExpansionTile( title: Text( AppTranslations.of(context).text("profile.privilege"), diff --git a/lib/pages/shipment/pickup_box_editor.dart b/lib/pages/shipment/pickup_box_editor.dart index 31b3ff6..b4ad063 100644 --- a/lib/pages/shipment/pickup_box_editor.dart +++ b/lib/pages/shipment/pickup_box_editor.dart @@ -1,7 +1,7 @@ import 'package:fcs/domain/entities/box.dart'; import 'package:fcs/domain/entities/cargo.dart'; import 'package:fcs/domain/entities/package.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/shipment_address/model/shipment_address_model.dart'; @@ -30,7 +30,7 @@ class _PickupBoxEditorState extends State { bool isNew; bool isMixBox = false; - ShippingAddress _shippingAddress = new ShippingAddress(); + DeliveryAddress _shippingAddress = new DeliveryAddress(); @override void initState() { diff --git a/lib/pages/shipment/shipment_editor.dart b/lib/pages/shipment/shipment_editor.dart index 74ef546..9493125 100644 --- a/lib/pages/shipment/shipment_editor.dart +++ b/lib/pages/shipment/shipment_editor.dart @@ -1,7 +1,7 @@ import 'package:fcs/domain/entities/box.dart'; import 'package:fcs/domain/entities/cargo.dart'; import 'package:fcs/domain/entities/pickup.dart'; -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/box/model/box_model.dart'; @@ -58,7 +58,7 @@ class _ShipmentEditorState extends State { bool _isLoading = false; var now = new DateTime.now(); bool isNew; - ShippingAddress _shippingAddress = new ShippingAddress(); + DeliveryAddress _shippingAddress = new DeliveryAddress(); int _currVal = 1; @@ -238,7 +238,7 @@ class _ShipmentEditorState extends State { ), backgroundColor: primaryColor, title: LocalText(context, "shipment.edit.title", - fontSize: 18, color: Colors.white), + fontSize: 18, color: Colors.white), ), body: Card( child: Column( @@ -310,7 +310,7 @@ class _ShipmentEditorState extends State { _currVal == 3 ? Container( child: ShippingAddressRow( - shippingAddress: ShippingAddress( + shippingAddress: DeliveryAddress( fullName: 'FCS Office', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', @@ -689,7 +689,7 @@ class _ShipmentEditorState extends State { List _boxes = [boxes[0], boxes[1]]; return _boxes.asMap().entries.map((_box) { - ShippingAddress shippingAddress = _box.value.shippingAddress; + DeliveryAddress shippingAddress = _box.value.shippingAddress; return InkWell( onTap: () { diff --git a/lib/pages/shipment_address/model/shipment_address_model.dart b/lib/pages/shipment_address/model/shipment_address_model.dart index fe72d57..f391a93 100644 --- a/lib/pages/shipment_address/model/shipment_address_model.dart +++ b/lib/pages/shipment_address/model/shipment_address_model.dart @@ -1,16 +1,17 @@ -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/data/services/services.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/pages/main/model/base_model.dart'; class ShipmentAddressModel extends BaseModel { - List shippingAddresses = [ - ShippingAddress( + List shippingAddresses = [ + DeliveryAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', city: 'NY', state: 'NY', phoneNumber: '+1 (292)215-2247'), - ShippingAddress( + DeliveryAddress( fullName: 'Mg Myo', addressLine1: '153-154 5th Thitsar.', addressLine2: 'South Okkalapa Township', @@ -22,4 +23,19 @@ class ShipmentAddressModel extends BaseModel { void initUser(user) { super.initUser(user); } + + Future createDeliveryAddress(DeliveryAddress deliveryAddress) { + return Services.instance.deliveryAddressService + .createDeliveryAddress(deliveryAddress); + } + + Future updateDeliveryAddress(DeliveryAddress deliveryAddress) { + return Services.instance.deliveryAddressService + .updateDeliveryAddress(deliveryAddress); + } + + Future deleteDeliveryAddress(DeliveryAddress deliveryAddress) { + return Services.instance.deliveryAddressService + .deleteDeliveryAddress(deliveryAddress); + } } diff --git a/lib/pages/shipment_address/shipping_address_editor.dart b/lib/pages/shipment_address/shipping_address_editor.dart index bc6620e..a1f2ba7 100644 --- a/lib/pages/shipment_address/shipping_address_editor.dart +++ b/lib/pages/shipment_address/shipping_address_editor.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/local_text.dart'; @@ -7,7 +7,7 @@ import 'package:flutter_icons/flutter_icons.dart'; import 'package:flutter/material.dart'; class ShippingAddressEditor extends StatefulWidget { - final ShippingAddress shippingAddress; + final DeliveryAddress shippingAddress; ShippingAddressEditor({this.shippingAddress}); @override @@ -22,7 +22,7 @@ class _ShippingAddressEditorState extends State { TextEditingController _stateController = new TextEditingController(); TextEditingController _phoneController = new TextEditingController(); - ShippingAddress _shippingAddress = new ShippingAddress(); + DeliveryAddress _shippingAddress = new DeliveryAddress(); bool _isLoading = false; diff --git a/lib/pages/shipment_address/shipping_address_list.dart b/lib/pages/shipment_address/shipping_address_list.dart index 33b0425..cc61162 100644 --- a/lib/pages/shipment_address/shipping_address_list.dart +++ b/lib/pages/shipment_address/shipping_address_list.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/widgets/bottom_up_page_route.dart'; import 'package:fcs/pages/widgets/local_text.dart'; @@ -97,7 +97,7 @@ class _ShippingAddressListState extends State { } List getAddressList( - BuildContext context, List addresses) { + BuildContext context, List addresses) { return addresses.asMap().entries.map((s) { return InkWell( onTap: () { diff --git a/lib/pages/shipment_address/shipping_address_row.dart b/lib/pages/shipment_address/shipping_address_row.dart index 5f1222c..6d2e889 100644 --- a/lib/pages/shipment_address/shipping_address_row.dart +++ b/lib/pages/shipment_address/shipping_address_row.dart @@ -1,11 +1,11 @@ -import 'package:fcs/domain/vo/shipping_address.dart'; +import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/pages/shipment_address/model/shipment_address_model.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class ShippingAddressRow extends StatelessWidget { - final ShippingAddress shippingAddress; + final DeliveryAddress shippingAddress; final int index; const ShippingAddressRow({Key key, this.shippingAddress, this.index}) diff --git a/lib/pages/signin/signin_page.dart b/lib/pages/signin/signin_page.dart index b666fb1..0b78445 100644 --- a/lib/pages/signin/signin_page.dart +++ b/lib/pages/signin/signin_page.dart @@ -86,7 +86,7 @@ class _SigninPageState extends State { child: CountryCodePicker( onChanged: _countryChange, initialSelection: dialCode, - countryFilter: ['+95', '+1'], + countryFilter: ['mm', 'us'], showCountryOnly: false, showOnlyCountryWhenClosed: false, alignLeft: false, diff --git a/lib/pages/widgets/fcs_id_icon.dart b/lib/pages/widgets/fcs_id_icon.dart index f571cf8..1e49c9b 100644 --- a/lib/pages/widgets/fcs_id_icon.dart +++ b/lib/pages/widgets/fcs_id_icon.dart @@ -4,7 +4,7 @@ class FcsIDIcon extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.only(right: 12.0), child: Container( width: 25, height: 25,