Browse Source

show local time, push utc

master
daivph 5 years ago
parent
commit
62d569ee80
16 changed files with 156 additions and 531 deletions
  1. +1
    -1
      ios/Flutter/.last_build_id
  2. +10
    -45
      lib/presentation/screens/actions/crop_status/sc_edit_action_crop_status.dart
  3. +10
    -45
      lib/presentation/screens/actions/disease/sc_edit_action_disease.dart
  4. +10
    -46
      lib/presentation/screens/actions/dung/sc_edit_action_dung.dart
  5. +11
    -45
      lib/presentation/screens/actions/end/sc_edit_action_end.dart
  6. +10
    -45
      lib/presentation/screens/actions/environment_update/sc_edit_action_environment_update.dart
  7. +10
    -45
      lib/presentation/screens/actions/harvest/sc_edit_action_harvest.dart
  8. +11
    -15
      lib/presentation/screens/actions/harvest_process/sc_edit_action_harvest_process.dart
  9. +10
    -46
      lib/presentation/screens/actions/nursery/sc_edit_action_nursery.dart
  10. +11
    -45
      lib/presentation/screens/actions/other/sc_edit_action_other.dart
  11. +11
    -15
      lib/presentation/screens/actions/packing/sc_edit_action_packing.dart
  12. +12
    -45
      lib/presentation/screens/actions/plant/sc_edit_action_plant.dart
  13. +10
    -15
      lib/presentation/screens/actions/sell/sc_edit_action_sell.dart
  14. +18
    -28
      lib/presentation/screens/actions/spraying/sc_edit_action_spraying.dart
  15. +10
    -49
      lib/presentation/screens/actions/use_water/sc_edit_action_user_water.dart
  16. +1
    -1
      pubspec.yaml

+ 1
- 1
ios/Flutter/.last_build_id View File

48197743e3d78b3769f70bac9a76e7e0
440505e9ea1eee7043d2cbfeb318f6bc

+ 10
- 45
lib/presentation/screens/actions/crop_status/sc_edit_action_crop_status.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
TextEditingController _descriptionController = TextEditingController(); TextEditingController _descriptionController = TextEditingController();
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_cropStatus.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_cropStatus.cropId = widget.cropId; _cropStatus.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_cropStatus.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_cropStatus.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _cropRateField() { Widget _cropRateField() {
_executeByController.text = _executeByController.text =
_cropStatus.executeBy ?? ""; _cropStatus.executeBy ?? "";


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_cropStatus.executeDate);
} catch (_) {}
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
Get.find<ChangeDateTimePicker>().change(_cropStatus
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_cropStatus.media)) { _cropStatus.media)) {

+ 10
- 45
lib/presentation/screens/actions/disease/sc_edit_action_disease.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
TextEditingController _descriptionController = TextEditingController(); TextEditingController _descriptionController = TextEditingController();
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_disease.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_disease.cropId = widget.cropId; _disease.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_disease.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_disease.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _typeOfPestField() { Widget _typeOfPestField() {
_disease.description ?? ""; _disease.description ?? "";
_executeByController.text = _disease.executeBy; _executeByController.text = _disease.executeBy;


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_disease.executeDate);
} catch (_) {}
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
Get.find<ChangeDateTimePicker>().change(_disease
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_disease.media)) { _disease.media)) {

+ 10
- 46
lib/presentation/screens/actions/dung/sc_edit_action_dung.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
final _quarantinePeriodController = TextEditingController(); final _quarantinePeriodController = TextEditingController();
List<SuppliesUsing> suppliesUsing = new List<SuppliesUsing>(); List<SuppliesUsing> suppliesUsing = new List<SuppliesUsing>();


String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
_dung.suppliesUsing = new List<SuppliesUsing>(); _dung.suppliesUsing = new List<SuppliesUsing>();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_dung.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_dung.cropId = widget.cropId; _dung.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_dung.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_dung.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _purposeField() { Widget _purposeField() {
_descriptionController.text = _descriptionController.text =
_dung.description; _dung.description;
_executeByController.text = _dung.executeBy; _executeByController.text = _dung.executeBy;
try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_dung.executeDate);
} catch (_) {}
executeTimeView =
DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
Get.find<ChangeDateTimePicker>().change(_dung
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_dung.media)) { _dung.media)) {

+ 11
- 45
lib/presentation/screens/actions/end/sc_edit_action_end.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_utils.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_utils.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:keyboard_dismisser/keyboard_dismisser.dart'; import 'package:keyboard_dismisser/keyboard_dismisser.dart';
import 'package:farm_tpf/utils/formatter.dart';


import '../util_action.dart'; import '../util_action.dart';


final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


var pref = LocalPref(); var pref = LocalPref();
String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_end.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_end.cropId = widget.cropId; _end.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_end.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_end.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


_actionAppBar() { _actionAppBar() {
_end.description ?? ""; _end.description ?? "";
_executeByController.text = _end.createdByName; _executeByController.text = _end.createdByName;


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_end.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
Get.find<ChangeDateTimePicker>().change(_end
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty(_end.media)) { if (Validators.stringNotNullOrEmpty(_end.media)) {
BlocProvider.of<MediaHelperBloc>(context).add( BlocProvider.of<MediaHelperBloc>(context).add(

+ 10
- 45
lib/presentation/screens/actions/environment_update/sc_edit_action_environment_update.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
TextEditingController _llnController = TextEditingController(); TextEditingController _llnController = TextEditingController();
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_environment.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_environment.cropId = widget.cropId; _environment.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_environment.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_environment.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _ecField() { Widget _ecField() {
_environment.lln.formatStringToStringDecimal(); _environment.lln.formatStringToStringDecimal();
_executeByController.text = _environment.executeBy; _executeByController.text = _environment.executeBy;


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_environment.executeDate);
} catch (_) {}
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
Get.find<ChangeDateTimePicker>().change(_environment
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_environment.media)) { _environment.media)) {

+ 10
- 45
lib/presentation/screens/actions/harvest/sc_edit_action_harvest.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


var pref = LocalPref(); var pref = LocalPref();
String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_harvest.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_harvest.cropId = widget.cropId; _harvest.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_harvest.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_harvest.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _l1Field() { Widget _l1Field() {
_harvest.description ?? ""; _harvest.description ?? "";
_executeByController.text = _harvest.executeBy; _executeByController.text = _harvest.executeBy;


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_harvest.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
Get.find<ChangeDateTimePicker>().change(_harvest
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_harvest.media)) { _harvest.media)) {

+ 11
- 15
lib/presentation/screens/actions/harvest_process/sc_edit_action_harvest_process.dart View File

getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
_harvestProcess.suppliesUsing = new List<SuppliesUsing>(); _harvestProcess.suppliesUsing = new List<SuppliesUsing>();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_harvestProcess.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_harvestProcess.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
_harvestProcess.cropId = widget.cropId; _harvestProcess.cropId = widget.cropId;


if (!widget.isEdit) { if (!widget.isEdit) {
DatePicker.showDateTimePicker(context, DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) { showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() { setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_harvestProcess.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
executeTime = date;
_harvestProcess.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
}); });
}, currentTime: executeTime, locale: LocaleType.vi); }, currentTime: executeTime, locale: LocaleType.vi);
}, },
} }
}, (err) {}); }, (err) {});


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_harvestProcess.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
executeTime = _harvestProcess.executeDate
.convertStringServerDateTimeToLocalDateTime();
executeTimeView =
executeTime.displayDateTime_DDMMYYYY_HHmm();
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_harvestProcess.media)) { _harvestProcess.media)) {

+ 10
- 46
lib/presentation/screens/actions/nursery/sc_edit_action_nursery.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
TextEditingController _workerNameController = TextEditingController(); TextEditingController _workerNameController = TextEditingController();
TextEditingController _trayNumberController = TextEditingController(); TextEditingController _trayNumberController = TextEditingController();
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();
String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<NurseryDetail> currentNurseryDetail = List<NurseryDetail>(); List<NurseryDetail> currentNurseryDetail = List<NurseryDetail>();
int currentIndexUpdate = -1; int currentIndexUpdate = -1;
changeSupply.initValue(); changeSupply.initValue();
changeFileController.initValue(); changeFileController.initValue();
_nursery.nurseryDetail = new List<NurseryDetail>(); _nursery.nurseryDetail = new List<NurseryDetail>();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_nursery.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_nursery.cropId = widget.cropId; _nursery.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_nursery.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_nursery.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _btnSelectSubstrates() { Widget _btnSelectSubstrates() {
_nursery.description; _nursery.description;
_executeByController.text = _executeByController.text =
_nursery.executeBy; _nursery.executeBy;
try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_nursery.executeDate);
} catch (_) {}
executeTimeView =
DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
Get.find<ChangeDateTimePicker>().change(_nursery
.executeDate
.convertStringServerDateTimeToLocalDateTime());
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_nursery.media)) { _nursery.media)) {

+ 11
- 45
lib/presentation/screens/actions/other/sc_edit_action_other.dart View File

import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/models/index.dart'; import 'package:farm_tpf/models/index.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_utils.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_utils.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:keyboard_dismisser/keyboard_dismisser.dart'; import 'package:keyboard_dismisser/keyboard_dismisser.dart';
import 'package:farm_tpf/utils/formatter.dart';


import '../util_action.dart'; import '../util_action.dart';




List<ActionType> _actionTypes = List<ActionType>(); List<ActionType> _actionTypes = List<ActionType>();
ActionType _actionType; ActionType _actionType;
String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_other.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_other.cropId = widget.cropId; _other.cropId = widget.cropId;


if (!widget.isEdit) { if (!widget.isEdit) {
} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_other.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_other.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


List<DropdownMenuItem<ActionType>> _buildDropMenu(List<ActionType> actions) { List<DropdownMenuItem<ActionType>> _buildDropMenu(List<ActionType> actions) {
} }
} }
}, (err) {}); }, (err) {});
Get.find<ChangeDateTimePicker>().change(_other
.executeDate
.convertStringServerDateTimeToLocalDateTime());


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_other.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
//Show media //Show media
if (Validators.stringNotNullOrEmpty(_other.media)) { if (Validators.stringNotNullOrEmpty(_other.media)) {
BlocProvider.of<MediaHelperBloc>(context).add( BlocProvider.of<MediaHelperBloc>(context).add(

+ 11
- 15
lib/presentation/screens/actions/packing/sc_edit_action_packing.dart View File

super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_packing.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_packing.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
_packing.cropId = widget.cropId; _packing.cropId = widget.cropId;


if (!widget.isEdit) { if (!widget.isEdit) {
DatePicker.showDateTimePicker(context, DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) { showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() { setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_packing.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
executeTime = date;
_packing.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
}); });
}, currentTime: executeTime, locale: LocaleType.vi); }, currentTime: executeTime, locale: LocaleType.vi);
}, },
} }
}, (err) {}); }, (err) {});


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_packing.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
executeTime = _packing.executeDate
.convertStringServerDateTimeToLocalDateTime();
executeTimeView =
executeTime.displayDateTime_DDMMYYYY_HHmm();
//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_packing.media)) { _packing.media)) {

+ 12
- 45
lib/presentation/screens/actions/plant/sc_edit_action_plant.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
_plant.suppliesUsing = new List<SuppliesUsing>(); _plant.suppliesUsing = new List<SuppliesUsing>();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_plant.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_plant.cropId = widget.cropId; _plant.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_plant.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_plant.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _quantityField() { Widget _quantityField() {
_descriptionController.text = _descriptionController.text =
_plant.description; _plant.description;
_executeByController.text = _plant.executeBy; _executeByController.text = _plant.executeBy;
try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_plant.executeDate);
} catch (_) {}
executeTimeView =
DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);

Get.find<ChangeDateTimePicker>().change(_plant
.executeDate
.convertStringServerDateTimeToLocalDateTime());

//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(
_plant.media)) { _plant.media)) {

+ 10
- 15
lib/presentation/screens/actions/sell/sc_edit_action_sell.dart View File

super.initState(); super.initState();
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_sell.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_sell.executeDate = executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
_sell.cropId = widget.cropId; _sell.cropId = widget.cropId;


if (!widget.isEdit) { if (!widget.isEdit) {
DatePicker.showDateTimePicker(context, DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) { showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() { setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_sell.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
executeTime = date;
_sell.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
}); });
}, currentTime: executeTime, locale: LocaleType.vi); }, currentTime: executeTime, locale: LocaleType.vi);
}, },
} }
}, (err) {}); }, (err) {});


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_sell.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
executeTime = _sell.executeDate
.convertStringServerDateTimeToLocalDateTime();
executeTimeView =
executeTime.displayDateTime_DDMMYYYY_HHmm();
//Show media //Show media
if (Validators.stringNotNullOrEmpty(_sell.media)) { if (Validators.stringNotNullOrEmpty(_sell.media)) {
BlocProvider.of<MediaHelperBloc>(context).add( BlocProvider.of<MediaHelperBloc>(context).add(

+ 18
- 28
lib/presentation/screens/actions/spraying/sc_edit_action_spraying.dart View File

getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
_spraying.suppliesUsing = new List<SuppliesUsing>(); _spraying.suppliesUsing = new List<SuppliesUsing>();
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_spraying.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_spraying.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
_spraying.cropId = widget.cropId; _spraying.cropId = widget.cropId;
} }


message: label_execute_date_must_after_result_time); message: label_execute_date_must_after_result_time);
} else { } else {
executeTime = date; executeTime = date;
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_spraying.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
_spraying.executeDate =
executeTime.convertLocalDateTimeToStringUtcDateTime();
executeTimeView = executeTime.displayDateTime_DDMMYYYY_HHmm();
} }
}); });
}, currentTime: executeTime, locale: LocaleType.vi); }, currentTime: executeTime, locale: LocaleType.vi);
message: label_execute_date_must_after_result_time); message: label_execute_date_must_after_result_time);
} else { } else {
resultAtTime = date; resultAtTime = date;
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_spraying.resultAt = "$parsedDate";
resultAtView = DateFormat("dd/MM/yyyy HH:mm").format(date);
_spraying.resultAt =
resultAtTime.convertLocalDateTimeToStringUtcDateTime();
resultAtView = resultAtTime.displayDateTime_DDMMYYYY_HHmm();
} }
}); });
}, currentTime: resultAtTime, locale: LocaleType.vi); }, currentTime: resultAtTime, locale: LocaleType.vi);
_spraying.description; _spraying.description;
_executeByController.text = _executeByController.text =
_spraying.executeBy; _spraying.executeBy;
try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_spraying.executeDate);
executeTimeView =
DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}


try {
resultAtTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_spraying.resultAt);
resultAtView =
DateFormat("dd/MM/yyyy HH:mm")
.format(resultAtTime);
} catch (_) {}
executeTime = _spraying.executeDate
.convertStringServerDateTimeToLocalDateTime();
executeTimeView = executeTime
.displayDateTime_DDMMYYYY_HHmm();

resultAtTime = _spraying.resultAt
.convertStringServerDateTimeToLocalDateTime();
resultAtView = resultAtTime
.displayDateTime_DDMMYYYY_HHmm();


//Show media //Show media
if (Validators.stringNotNullOrEmpty( if (Validators.stringNotNullOrEmpty(

+ 10
- 49
lib/presentation/screens/actions/use_water/sc_edit_action_user_water.dart View File

import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart'; import 'package:farm_tpf/presentation/custom_widgets/bloc/media_helper_bloc.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_field_time_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_loading.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_text_form_field.dart';
import 'package:farm_tpf/presentation/screens/actions/state_management_helper/change_file_controller.dart'; import 'package:farm_tpf/presentation/screens/actions/state_management_helper/change_file_controller.dart';
import 'package:farm_tpf/utils/const_common.dart'; import 'package:farm_tpf/utils/const_common.dart';
import 'package:farm_tpf/utils/const_string.dart'; import 'package:farm_tpf/utils/const_string.dart';
import 'package:farm_tpf/utils/const_style.dart';
import 'package:farm_tpf/utils/pref.dart'; import 'package:farm_tpf/utils/pref.dart';
import 'package:farm_tpf/utils/validators.dart'; import 'package:farm_tpf/utils/validators.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:keyboard_dismisser/keyboard_dismisser.dart'; import 'package:keyboard_dismisser/keyboard_dismisser.dart';
import 'package:pattern_formatter/pattern_formatter.dart';
import 'package:farm_tpf/utils/formatter.dart'; import 'package:farm_tpf/utils/formatter.dart';


import '../util_action.dart'; import '../util_action.dart';
TextEditingController _descriptionController = TextEditingController(); TextEditingController _descriptionController = TextEditingController();
final _executeByController = TextEditingController(); final _executeByController = TextEditingController();


String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<String> filePaths = List<String>(); List<String> filePaths = List<String>();
var changeFileController = Get.put(ChangeFileController()); var changeFileController = Get.put(ChangeFileController());
getSharedPrefs(); getSharedPrefs();
changeFileController.initValue(); changeFileController.initValue();
changeRadio.init(widget.isEdit); changeRadio.init(widget.isEdit);
var parsedExecuteDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(executeTime);
_useWater.executeDate = "$parsedExecuteDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(executeTime);
_useWater.cropId = widget.cropId; _useWater.cropId = widget.cropId;
} }


} }


Widget _btnExecuteTimePicker() { Widget _btnExecuteTimePicker() {
return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () {
DatePicker.showDateTimePicker(context,
showTitleActions: true, onChanged: (date) {}, onConfirm: (date) {
setState(() {
var parsedDate =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(date);
_useWater.executeDate = "$parsedDate";
executeTimeView = DateFormat("dd/MM/yyyy HH:mm").format(date);
});
}, currentTime: executeTime, locale: LocaleType.vi);
},
child: Container(
padding:
EdgeInsets.only(top: 0.0, right: 0.0, bottom: 10.5, left: 0.0),
decoration: BoxDecoration(
border: kBorderTextField,
),
child: Row(
children: [
Expanded(
child: Text(
//TODO: check condition
executeTimeView == null ? "$executeTime" : executeTimeView,
style: TextStyle(fontSize: 14.0, color: Colors.black87),
)),
Icon(
Icons.date_range,
color: Colors.blue,
),
],
)));
return WidgetFieldDateTimePicker(
initDateTime: executeTime,
onUpdateDateTime: (selectedDate) {
_useWater.executeDate =
selectedDate.convertLocalDateTimeToStringUtcDateTime();
});
} }


Widget _amountField() { Widget _amountField() {
_useWater.description ?? ""; _useWater.description ?? "";
_executeByController.text = _useWater.executeBy; _executeByController.text = _useWater.executeBy;


try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_useWater.executeDate);
executeTimeView = DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
} catch (_) {}
Get.find<ChangeDateTimePicker>().change(_useWater
.executeDate
.convertStringServerDateTimeToLocalDateTime());


changeRadio changeRadio
.initWithSelectedByName(_useWater.waterType); .initWithSelectedByName(_useWater.waterType);

+ 1
- 1
pubspec.yaml View File

description: A new Flutter project. description: A new Flutter project.


publish_to: 'none' publish_to: 'none'
version: 0.8.0+1
version: 0.9.0+1


environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"

Loading…
Cancel
Save