merge-requests/406/head
haroon amjad 3 years ago
parent ba79baa803
commit f6d779431a

@ -121,13 +121,17 @@ class CMCViewModel extends BaseViewModel {
Future getCustomerInfo() async {
setState(ViewState.Busy);
await _pharmacyModuleService.generatePharmacyToken().then((value) async {
await _customerAddressesService.getCustomerInfo();
});
await _pharmacyModuleService.generatePharmacyToken();
// await _pharmacyModuleService.createUser();
if (_customerAddressesService.hasError) {
error = _customerAddressesService.error;
await _pharmacyModuleService.createUser();
// await _customerAddressesService.getCustomerInfo();
setState(ViewState.ErrorLocal);
} else {
await _pharmacyModuleService.createUser();
// await _customerAddressesService.getCustomerInfo();
await getCustomerAddresses();
}
}

@ -109,11 +109,11 @@ class HomeHealthCareViewModel extends BaseViewModel {
if (_customerAddressesService.hasError) {
error = _customerAddressesService.error;
await _pharmacyModuleService.createUser();
await _customerAddressesService.getCustomerInfo();
// await _customerAddressesService.getCustomerInfo();
setState(ViewState.ErrorLocal);
} else {
await _pharmacyModuleService.createUser();
await _customerAddressesService.getCustomerInfo();
// await _customerAddressesService.getCustomerInfo();
await getCustomerAddresses();
}
}

@ -2,7 +2,7 @@ import 'dart:async';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescriptions_order.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
@ -11,7 +11,7 @@ import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/rrt/service_price.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/pharmacyAddress_service.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import '../base_view_model.dart';
class RRTService extends BaseService {}
@ -68,13 +68,8 @@ class RRTViewModel extends BaseViewModel {
// Pending
rrtServiceData.pendingOrders.add(PrescriptionsOrder.fromJson(json));
}
// else if (json["Status"] == 3) {
// // Completed
// rrtServiceData.completedOrders.add(PrescriptionsOrder.fromJson(json));
// }
rrtServiceData.completedOrders.add(PrescriptionsOrder.fromJson(json));
}
return Future.error("404");
});
}
}, onFailure: (error, statusCode) {

@ -104,9 +104,9 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
: () async {
widget.model.setState(ViewState.Busy);
await widget.model.getCustomerInfo();
if (widget.model.state == ViewState.ErrorLocal) {
Utils.showErrorToast();
} else {
// if (widget.model.state == ViewState.ErrorLocal) {
// Utils.showErrorToast();
// } else {
Navigator.push(
context,
FadePage(
@ -116,7 +116,7 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
),
),
);
}
// }
},
disabledColor: Color(0xff575757),
),

@ -5,8 +5,9 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealth
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -73,7 +74,7 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EdgeInsets.all(20),
padding: EdgeInsets.only(top: 12.0, bottom: 12.0),
child: Texts(
TranslationBase.of(context).RRTSummary,
fontWeight: FontWeight.bold,
@ -160,32 +161,45 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
),
),
bottomSheet: Container(
height: MediaQuery.of(context).size.height * 0.10,
color: Theme.of(context).scaffoldBackgroundColor,
width: double.infinity,
child: Column(
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width * 0.9,
child: SecondaryButton(
label: TranslationBase.of(context).confirm,
disabled: widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0,
color: Colors.grey[800],
onTap: () async {
widget.model.setState(ViewState.Busy);
widget.model.insertPresPresOrder(order: widget.patientERInsertPresOrderRequestModel).then((value) => {
widget.model.setState(ViewState.Idle),
Navigator.push(
context,
FadePage(
page: HomeHealthCarePage(),
),
)
});
},
textColor: Theme.of(context).backgroundColor),
),
],
child: Padding(
padding: const EdgeInsets.all(12.0),
child: DefaultButton(
TranslationBase.of(context).confirm,
() {
widget.model.setState(ViewState.Busy);
widget.model.insertPresPresOrder(order: widget.patientERInsertPresOrderRequestModel).then((value) => {
widget.model.setState(ViewState.Idle),
Navigator.push(
context,
FadePage(
page: HomeHealthCarePage(),
),
)
});
},
color: CustomColors.green,
),
),
// SecondaryButton(
// label: TranslationBase.of(context).confirm,
// disabled: widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0,
// color: Colors.grey[800],
// onTap: () async {
// widget.model.setState(ViewState.Busy);
// widget.model.insertPresPresOrder(order: widget.patientERInsertPresOrderRequestModel).then((value) => {
// widget.model.setState(ViewState.Idle),
// Navigator.push(
// context,
// FadePage(
// page: HomeHealthCarePage(),
// ),
// )
// });
// },
// textColor: Theme.of(context).backgroundColor),
),
);
}

@ -1,11 +1,14 @@
import 'dart:async';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_three_page.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/reminder_dialog.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
@ -16,6 +19,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/app_map/google_huawei_map.dart';
import 'location_page.dart';
@ -42,6 +46,7 @@ class _NewHomeHealthCareStepTowPageState extends State<NewHomeHealthCareStepTowP
bool showCurrentLocation = false;
final Set<Marker> markers = new Set();
AppMap appMap;
AppSharedPreferences sharedPref = AppSharedPreferences();
static CameraPosition _kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
zoom: 14.4746,
@ -56,34 +61,45 @@ class _NewHomeHealthCareStepTowPageState extends State<NewHomeHealthCareStepTowP
_updatePosition(camera);
},
onMapCreated: () {
goToCurrentLocation();
// goToCurrentLocation();
_getUserLocation();
setState(() {});
},
);
// if (widget.patientERInsertPresOrderRequestModel.latitude == null) {
// setLatitudeAndLongitude();
// } else {
// latitude = widget.patientERInsertPresOrderRequestModel.latitude;
// longitude = widget.patientERInsertPresOrderRequestModel.longitude;
// }
// markers.clear();
// markers.add(
// Marker(
// markerId: MarkerId(
// latitude.hashCode.toString(),
// ),
// position: LatLng(latitude, longitude)),
// );
// _kGooglePlex = CameraPosition(
// target: LatLng(latitude, longitude),
// zoom: 14.4746,
// );
super.initState();
}
void _getUserLocation() async {
if (await this.sharedPref.getDouble(USER_LAT) != null && await this.sharedPref.getDouble(USER_LONG) != null) {
var lat = await this.sharedPref.getDouble(USER_LAT);
var long = await this.sharedPref.getDouble(USER_LONG);
latitude = lat;
longitude = long;
currentPostion = LatLng(lat, long);
setMap();
} else {
if (await Permission.location.request().isGranted) {
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
currentPostion = LatLng(position.latitude, position.longitude);
latitude = position.latitude;
longitude = position.longitude;
setMap();
} else {
requestPermissions().then(
(value) async {
if (value[Permission.location].isGranted) {
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
currentPostion = LatLng(position.latitude, position.longitude);
latitude = position.latitude;
longitude = position.longitude;
setMap();
}
},
);
}
}
}
setLatitudeAndLongitude({bool isSetState = false, String latLong}) {
if (latLong == null) {
if (widget.model.addressesList.isEmpty) {
@ -117,7 +133,6 @@ class _NewHomeHealthCareStepTowPageState extends State<NewHomeHealthCareStepTowP
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return AppScaffold(
isShowDecPage: false,
showNewAppBarTitle: true,

@ -37,9 +37,11 @@ class RRTLogPageState extends State<RRTLogPage> {
GifLoaderDialogUtils.showMyDialog(context);
var success = await viewModel.cancelOrder(order);
GifLoaderDialogUtils.hideDialog(context);
if (success)
if (success) {
setState(() {
widget.orders.remove(order);
});
}
await viewModel.getAllOrders();
}
}

@ -90,7 +90,7 @@ class RRTLogListItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).location + ": ",
TranslationBase.of(context).locationa + ": ",
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
),
Expanded(
@ -124,7 +124,7 @@ class RRTLogListItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(
DateUtil.formatDateToDate(order.createdOn, projectViewModel.isArabic),
DateUtil.getDayMonthYearDateFormattedLang(order.createdOn, projectViewModel.isArabic),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
),
SizedBox(height: 12),

@ -1,30 +1,30 @@
import 'dart:async';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/er/rrt-view-model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/rrt/service_price.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/location_page.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/reminder_dialog.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/app_map/google_huawei_map.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_material_pickers/flutter_material_pickers.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'rrt-place-order.dart';
import 'package:diplomaticquarterapp/widgets/app_map/google_huawei_map.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
class RRTRequestPickupAddressPage extends StatefulWidget {
final ServicePrice servicePrice;
@ -48,16 +48,19 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
LatLng currentPostion;
List<AddressInfo> myAddresses = [];
AddressInfo selectedAddress;
AddressInfo selectedAddress = new AddressInfo();
StreamController<int> addressStreamController = StreamController();
Stream<int> addressStream;
StreamController<int> addressLoadingStreamController = StreamController();
Stream<int> addressLoadingStream;
// AddressInfo _selectedAddress;
double latitude = 0;
double longitude = 0;
AppMap appMap;
bool showCurrentLocation = false;
AppSharedPreferences sharedPref = AppSharedPreferences();
@override
void initState() {
super.initState();
@ -68,7 +71,8 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
_updatePosition(camera);
},
onMapCreated: () {
goToCurrentLocation();
// goToCurrentLocation();
_getUserLocation();
setState(() {});
},
);
@ -107,6 +111,7 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
zoom: 14.4746,
);
appMap.moveTo(cameraPostion: cameraPosition);
selectedAddress.latLong = currentPostion.latitude.toString() + "," + currentPostion.longitude.toString();
});
}
@ -233,6 +238,7 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
void _updatePosition(CameraPosition _position) {
latitude = _position.target.latitude;
longitude = _position.target.longitude;
selectedAddress.latLong = latitude.toString() + "," + longitude.toString();
}
Widget centerTargetPoint() {
@ -250,7 +256,7 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
Widget continueButton() {
return Padding(
padding: const EdgeInsets.all(15),
padding: const EdgeInsets.all(0.0),
child: DefaultButton(TranslationBase.of(context).continues, () {
Navigator.push(
context,
@ -304,13 +310,41 @@ class RRTRequestPickupAddressPageState extends State<RRTRequestPickupAddressPage
);
}
void _getUserLocation() async {
if (await this.sharedPref.getDouble(USER_LAT) != null && await this.sharedPref.getDouble(USER_LONG) != null) {
var lat = await this.sharedPref.getDouble(USER_LAT);
var long = await this.sharedPref.getDouble(USER_LONG);
latitude = lat;
longitude = long;
currentPostion = LatLng(lat, long);
setMap();
} else {
if (await Permission.location.request().isGranted) {
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
currentPostion = LatLng(position.latitude, position.longitude);
latitude = position.latitude;
longitude = position.longitude;
setMap();
} else {
requestPermissions().then(
(value) async {
if (value[Permission.location].isGranted) {
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
currentPostion = LatLng(position.latitude, position.longitude);
latitude = position.latitude;
longitude = position.longitude;
setMap();
}
},
);
}
}
}
goToCurrentLocation() async {
Geolocator.getCurrentPosition().then((value) {
selectedAddress = AddressInfo(latLong: '${value.latitude},${value.longitude}');
moveToLocation(LatLng(value.latitude, value.longitude));
});
}
// moveToLocation(LatLng(location.latitude, location.longitude), animate: false);
// }
}

@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/models/rrt/service_price.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -154,6 +155,7 @@ class RRTPlaceOrderPage extends StatelessWidget {
child: DefaultButton(
localize.submit,
() => placeOrder(),
color: CustomColors.green,
),
),
);

@ -214,5 +214,6 @@ class RRTRequestPageState extends State<RRTRequestPage> {
setState(() {
widget.pendingOrders.remove(order);
});
await viewModel.getAllOrders();
}
}

Loading…
Cancel
Save