This commit is contained in:
Phaung Phaung
2021-09-10 12:02:08 +06:30
parent a144c945b6
commit c06ae00b68
35 changed files with 190 additions and 223 deletions

View File

@@ -1,6 +1,5 @@
import 'package:fcs/domain/vo/contact.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/contact/model/contact_model.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/input_text.dart';
@@ -14,7 +13,7 @@ import 'package:provider/provider.dart';
import 'widgets.dart';
class ContactEditor extends StatefulWidget {
final Contact contact;
final Contact? contact;
const ContactEditor({this.contact});
@override
_ContactEditorState createState() => _ContactEditorState();
@@ -29,22 +28,23 @@ class _ContactEditorState extends State<ContactEditor> {
TextEditingController _facebook = new TextEditingController();
bool _isLoading = false;
bool isNew;
bool isNew = false;
Contact? _contact;
@override
void initState() {
if (widget.contact != null) _contact = widget.contact!;
super.initState();
if (widget.contact != null) {
isNew = false;
_usaPhone.text = widget.contact.usaContactNumber;
_mmPhone.text = widget.contact.mmContactNumber;
_usaAddress.text = widget.contact.usaAddress;
_mmAddress.text = widget.contact.mmAddress;
_email.text = widget.contact.emailAddress;
_facebook.text = widget.contact.facebookLink;
} else {
isNew = true;
}
isNew = widget.contact == null;
}
initContact() {
_usaPhone.text = _contact?.usaContactNumber ?? '';
_mmPhone.text = _contact?.mmContactNumber ?? '';
_usaAddress.text = _contact?.usaAddress ?? '';
_mmAddress.text = _contact?.mmAddress ?? '';
_email.text = _contact?.emailAddress ?? '';
_facebook.text = _contact?.facebookLink ?? '';
}
@override
@@ -136,14 +136,17 @@ class _ContactEditorState extends State<ContactEditor> {
_isLoading = true;
});
try {
widget.contact.usaContactNumber = _usaPhone.text;
widget.contact.mmContactNumber = _mmPhone.text;
widget.contact.usaAddress = _usaAddress.text;
widget.contact.mmAddress = _mmAddress.text;
widget.contact.emailAddress = _email.text;
widget.contact.facebookLink = _facebook.text;
var contactModel = Provider.of<ContactModel>(context, listen: false);
await contactModel.saveContact(widget.contact);
_contact?.usaContactNumber = _usaPhone.text;
_contact?.mmContactNumber = _mmPhone.text;
_contact?.usaAddress = _usaAddress.text;
_contact?.mmAddress = _mmAddress.text;
_contact?.emailAddress = _email.text;
_contact?.facebookLink = _facebook.text;
if (this._contact != null) {
var contactModel = Provider.of<ContactModel>(context, listen: false);
await contactModel.saveContact(_contact!);
}
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());