create terms-condition in pharmacy order page

merge-requests/176/head
mosazaid 5 years ago
parent 2a91ae787f
commit 709ba2ce97

@ -0,0 +1,33 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/ListUserAgreement.dart';
import '../base_service.dart';
class TermsConditionService extends BaseService{
bool isFinished = true;
bool hasError = false;
String errorMsg = '';
String successMsg = '';
ListUserAgreement listUserAgreement;
Future getUserTermsAndConditionsForEPharmcy() async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
try {
await baseAppClient.post(LAKUM_GET_USER_TERMS_AND_CONDITIONS,
onSuccess: (response, statusCode) async {
listUserAgreement = ListUserAgreement.fromJson(response['ListUserAgreement'][0]);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
} catch (error) {
throw error;
}
}
}

@ -0,0 +1,24 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/ListUserAgreement.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/terms-condition-service.dart';
import 'dart:async';
import '../../../locator.dart';
import '../base_view_model.dart';
class TermsConditionViewModel extends BaseViewModel {
TermsConditionService _termsConditionService = locator<TermsConditionService>();
ListUserAgreement get listUserAgreement => _termsConditionService.listUserAgreement;
Future getUserTermsAndConditionsForEPharmcy() async {
setState(ViewState.Busy);
await _termsConditionService.getUserTermsAndConditionsForEPharmcy();
if (_termsConditionService.hasError) {
error = _termsConditionService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
}

@ -51,6 +51,7 @@ import 'core/service/parmacyModule/lacum-service.dart';
import 'core/service/parmacyModule/lacum-transfer-service.dart'; import 'core/service/parmacyModule/lacum-transfer-service.dart';
import 'core/service/parmacyModule/order-preview-service.dart'; import 'core/service/parmacyModule/order-preview-service.dart';
import 'core/service/notifications_service.dart'; import 'core/service/notifications_service.dart';
import 'core/service/parmacyModule/terms-condition-service.dart';
import 'core/viewModels/AlHabibMedicalService/cmc_view_model.dart'; import 'core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
import 'core/service/parmacyModule/parmacy_module_service.dart'; import 'core/service/parmacyModule/parmacy_module_service.dart';
@ -95,6 +96,7 @@ import 'core/viewModels/pharmacyModule/lacum-registration-viewModel.dart';
import 'core/viewModels/pharmacyModule/lacum-trasnfer-viewModel.dart'; import 'core/viewModels/pharmacyModule/lacum-trasnfer-viewModel.dart';
import 'core/viewModels/pharmacyModule/lacum-viewmodel.dart'; import 'core/viewModels/pharmacyModule/lacum-viewmodel.dart';
import 'core/viewModels/pharmacyModule/pharmacy_module_view_model.dart'; import 'core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'core/viewModels/pharmacyModule/tems-condition-viewmodel.dart';
import 'core/viewModels/qr_view_model.dart'; import 'core/viewModels/qr_view_model.dart';
import 'core/viewModels/vaccine_view_model.dart'; import 'core/viewModels/vaccine_view_model.dart';
import 'core/service/vaccine_service.dart'; import 'core/service/vaccine_service.dart';
@ -158,6 +160,7 @@ void setupLocator() {
locator.registerLazySingleton(() => PharmacyAddressService()); locator.registerLazySingleton(() => PharmacyAddressService());
locator.registerLazySingleton(() => OrderDetailsService()); locator.registerLazySingleton(() => OrderDetailsService());
locator.registerLazySingleton(() => CustomerAddressesService()); locator.registerLazySingleton(() => CustomerAddressesService());
locator.registerLazySingleton(() => TermsConditionService());
/// View Model /// View Model
locator.registerFactory(() => HospitalViewModel()); locator.registerFactory(() => HospitalViewModel());
@ -190,6 +193,7 @@ void setupLocator() {
locator.registerFactory(() => VaccinationTableViewModel()); locator.registerFactory(() => VaccinationTableViewModel());
locator.registerFactory(() => OrderModelViewModel()); locator.registerFactory(() => OrderModelViewModel());
locator.registerFactory(() => PharmacyAddressesViewModel()); locator.registerFactory(() => PharmacyAddressesViewModel());
locator.registerFactory(() => TermsConditionViewModel());
locator.registerFactory(() => AddNewChildViewModel()); locator.registerFactory(() => AddNewChildViewModel());
locator.registerFactory(() => H2OViewModel()); locator.registerFactory(() => H2OViewModel());

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCartResponse.
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-preview.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-preview.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-conditions-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderItem.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderItem.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/GestureIconButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/GestureIconButton.dart';
@ -261,11 +262,19 @@ class _OrderBottomWidgetState extends State<OrderBottomWidget> {
), ),
), ),
), ),
Container( InkWell(
child: Icon( onTap: () => {
Icons.info, Navigator.push(
size: 25, context,
color: Color(0xff005aff), FadePage(
page: PharmacyTermsConditions()))
},
child: Container(
child: Icon(
Icons.info,
size: 25,
color: Color(0xff005aff),
),
), ),
), ),
], ],

@ -0,0 +1,51 @@
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/tems-condition-viewmodel.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:provider/provider.dart';
class PharmacyTermsConditions extends StatelessWidget {
@override
Widget build(BuildContext context) {
ProjectViewModel projectProvider = Provider.of(context);
return BaseView<TermsConditionViewModel>(
onModelReady: (model) => model.getUserTermsAndConditionsForEPharmcy(),
builder: (_, model, wi) => AppScaffold(
title: "Terms of service",
isShowAppBar: true,
isShowDecPage: false,
backgroundColor: Colors.white,
baseViewModel: model,
body: Container(
margin: EdgeInsets.all(8),
width: double.infinity,
child: Stack(
children: [
SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
if (model.listUserAgreement != null &&
model.listUserAgreement.userAgreementLAKUM !=
null)
Html(
data: projectProvider.isArabic
? model.listUserAgreement.userAgreementTxtn
: model.listUserAgreement.userAgreementTxt,
),
],
),
),
],
),
),
));
}
}
Loading…
Cancel
Save