update disount

This commit is contained in:
PhyoThandar
2020-10-15 18:48:32 +06:30
parent 50f7673e85
commit f2432a33a1
10 changed files with 163 additions and 106 deletions

View File

@@ -1,9 +1,11 @@
import 'package:fcs/domain/entities/discount.dart';
import 'package:fcs/domain/entities/user.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/discount/model/discount_model.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
import 'package:fcs/pages/user_search/user_serach.dart';
import 'package:fcs/pages/widgets/display_text.dart';
import 'package:fcs/pages/widgets/input_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
@@ -27,9 +29,10 @@ class _DiscountEditorState extends State<DiscountEditor> {
TextEditingController _codeController = new TextEditingController();
TextEditingController _amountController = new TextEditingController();
TextEditingController _statusController = new TextEditingController();
TextEditingController _customerController = new TextEditingController();
bool _isNew = false;
String customerName = '';
String customerId = '';
@override
void initState() {
@@ -39,10 +42,10 @@ class _DiscountEditorState extends State<DiscountEditor> {
_codeController.text = _discount.code;
_amountController.text = _discount.amount.toString();
_statusController.text = _discount.status;
_customerController.text = 'Ko Nyi';
customerName = widget.discount.customerName;
customerId = widget.discount.customerId;
} else {
_isNew = true;
_customerController.text = '';
}
}
@@ -53,11 +56,6 @@ class _DiscountEditorState extends State<DiscountEditor> {
iconData: FontAwesomeIcons.algolia,
controller: _codeController);
final nameBox = InputText(
labelTextKey: 'discount.name',
iconData: Feather.user,
controller: _customerController);
final amountBox = InputText(
labelTextKey: 'discount.amount',
iconData: FontAwesomeIcons.moneyBill,
@@ -69,6 +67,25 @@ class _DiscountEditorState extends State<DiscountEditor> {
iconData: Icons.av_timer,
);
final customerBox = Row(
children: <Widget>[
Expanded(
child: DisplayText(
text: customerName != null ? customerName : "",
labelTextKey: "discount.name",
iconData: Feather.user,
)),
IconButton(
icon: Icon(Icons.search, color: primaryColor),
onPressed: () => searchUser(context, callbackUserSelect: (u) {
setState(() {
customerId = u.id;
customerName = u.name;
});
})),
],
);
return LocalProgress(
inAsyncCall: _isLoading,
child: Scaffold(
@@ -98,8 +115,10 @@ class _DiscountEditorState extends State<DiscountEditor> {
child: ListView(
children: <Widget>[
codeBox,
nameBox,
amountBox,
SizedBox(height: 7),
customerBox,
SizedBox(height: 7),
widget.discount == null
? Container()
: Container(
@@ -129,7 +148,8 @@ class _DiscountEditorState extends State<DiscountEditor> {
Provider.of<DiscountModel>(context, listen: false);
Discount _discount = Discount(
code: _codeController.text,
customer: _customerController.text,
customerName: customerName,
customerId: customerId,
amount: double.parse(_amountController.text));
if (_isNew) {
await discountModel.addDiscount(_discount);
@@ -149,7 +169,7 @@ class _DiscountEditorState extends State<DiscountEditor> {
_delete() {
showConfirmDialog(
context, "cargo_type.edit.delete.confirm", _deleteCargoType);
context, "discount.edit.delete.confirm", _deleteCargoType);
}
_deleteCargoType() async {
@@ -158,7 +178,7 @@ class _DiscountEditorState extends State<DiscountEditor> {
});
try {
var discountModel = Provider.of<DiscountModel>(context, listen: false);
await discountModel.deleteCargoType(widget.discount.id);
await discountModel.deleteDiscount(widget.discount);
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());