Merge branch 'master' into pharmacy
# Conflicts: # lib/config/config.dart # lib/locator.dart # lib/pages/base/base_view.dart # lib/pages/landing/home_page.dart # lib/widgets/others/app_scaffold_widget.dart # pubspec.yamlmerge-requests/176/head
@ -0,0 +1,9 @@
|
|||||||
|
{\rtf1\ansi\ansicpg1252\cocoartf2513
|
||||||
|
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
||||||
|
{\colortbl;\red255\green255\blue255;}
|
||||||
|
{\*\expandedcolortbl;;}
|
||||||
|
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
|
||||||
|
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
|
||||||
|
|
||||||
|
\f0\fs24 \cf0 keyPassword=HmGsa123\
|
||||||
|
storePassword=HmGsa123}
|
||||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 142 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 445 B |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 644 B After Width: | Height: | Size: 475 B |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 475 B |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 606 B |
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1 @@
|
|||||||
|
da98d9f0c1f407e541c636e84847ac81
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
storePassword=HmGsa123
|
||||||
|
keyPassword=HmGsa123
|
||||||
|
keyAlias=DQKey
|
||||||
|
storeFile=DQKey.jks
|
||||||
@ -0,0 +1,76 @@
|
|||||||
|
class GetAllProjectsResponseModel {
|
||||||
|
String desciption;
|
||||||
|
Null desciptionN;
|
||||||
|
int iD;
|
||||||
|
String legalName;
|
||||||
|
String legalNameN;
|
||||||
|
String name;
|
||||||
|
Null nameN;
|
||||||
|
String phoneNumber;
|
||||||
|
String setupID;
|
||||||
|
int distanceInKilometers;
|
||||||
|
bool isActive;
|
||||||
|
String latitude;
|
||||||
|
String longitude;
|
||||||
|
int mainProjectID;
|
||||||
|
Null projectOutSA;
|
||||||
|
bool usingInDoctorApp;
|
||||||
|
|
||||||
|
GetAllProjectsResponseModel(
|
||||||
|
{this.desciption,
|
||||||
|
this.desciptionN,
|
||||||
|
this.iD,
|
||||||
|
this.legalName,
|
||||||
|
this.legalNameN,
|
||||||
|
this.name,
|
||||||
|
this.nameN,
|
||||||
|
this.phoneNumber,
|
||||||
|
this.setupID,
|
||||||
|
this.distanceInKilometers,
|
||||||
|
this.isActive,
|
||||||
|
this.latitude,
|
||||||
|
this.longitude,
|
||||||
|
this.mainProjectID,
|
||||||
|
this.projectOutSA,
|
||||||
|
this.usingInDoctorApp});
|
||||||
|
|
||||||
|
GetAllProjectsResponseModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
desciption = json['Desciption'];
|
||||||
|
desciptionN = json['DesciptionN'];
|
||||||
|
iD = json['ID'];
|
||||||
|
legalName = json['LegalName'];
|
||||||
|
legalNameN = json['LegalNameN'];
|
||||||
|
name = json['Name'];
|
||||||
|
nameN = json['NameN'];
|
||||||
|
phoneNumber = json['PhoneNumber'];
|
||||||
|
setupID = json['SetupID'];
|
||||||
|
distanceInKilometers = json['DistanceInKilometers'];
|
||||||
|
isActive = json['IsActive'];
|
||||||
|
latitude = json['Latitude'];
|
||||||
|
longitude = json['Longitude'];
|
||||||
|
mainProjectID = json['MainProjectID'];
|
||||||
|
projectOutSA = json['ProjectOutSA'];
|
||||||
|
usingInDoctorApp = json['UsingInDoctorApp'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['Desciption'] = this.desciption;
|
||||||
|
data['DesciptionN'] = this.desciptionN;
|
||||||
|
data['ID'] = this.iD;
|
||||||
|
data['LegalName'] = this.legalName;
|
||||||
|
data['LegalNameN'] = this.legalNameN;
|
||||||
|
data['Name'] = this.name;
|
||||||
|
data['NameN'] = this.nameN;
|
||||||
|
data['PhoneNumber'] = this.phoneNumber;
|
||||||
|
data['SetupID'] = this.setupID;
|
||||||
|
data['DistanceInKilometers'] = this.distanceInKilometers;
|
||||||
|
data['IsActive'] = this.isActive;
|
||||||
|
data['Latitude'] = this.latitude;
|
||||||
|
data['Longitude'] = this.longitude;
|
||||||
|
data['MainProjectID'] = this.mainProjectID;
|
||||||
|
data['ProjectOutSA'] = this.projectOutSA;
|
||||||
|
data['UsingInDoctorApp'] = this.usingInDoctorApp;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
class GetNotificationsRequestModel {
|
||||||
|
int notificationStatusID;
|
||||||
|
int pagingSize;
|
||||||
|
int currentPage;
|
||||||
|
|
||||||
|
GetNotificationsRequestModel(
|
||||||
|
{this.notificationStatusID, this.pagingSize, this.currentPage});
|
||||||
|
|
||||||
|
GetNotificationsRequestModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
notificationStatusID = json['NotificationStatusID'];
|
||||||
|
pagingSize = json['pagingSize'];
|
||||||
|
currentPage = json['currentPage'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['NotificationStatusID'] = this.notificationStatusID;
|
||||||
|
data['pagingSize'] = this.pagingSize;
|
||||||
|
data['currentPage'] = this.currentPage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,96 @@
|
|||||||
|
class GetNotificationsResponseModel {
|
||||||
|
int id;
|
||||||
|
int recordId;
|
||||||
|
int patientID;
|
||||||
|
bool projectOutSA;
|
||||||
|
String deviceType;
|
||||||
|
String deviceToken;
|
||||||
|
String message;
|
||||||
|
String messageType;
|
||||||
|
String messageTypeData;
|
||||||
|
dynamic videoURL;
|
||||||
|
bool isQueue;
|
||||||
|
String isQueueOn;
|
||||||
|
String createdOn;
|
||||||
|
String createdBy;
|
||||||
|
String notificationType;
|
||||||
|
bool isSent;
|
||||||
|
String isSentOn;
|
||||||
|
bool isRead;
|
||||||
|
String isReadOn;
|
||||||
|
int channelID;
|
||||||
|
int projectID;
|
||||||
|
|
||||||
|
GetNotificationsResponseModel(
|
||||||
|
{this.id,
|
||||||
|
this.recordId,
|
||||||
|
this.patientID,
|
||||||
|
this.projectOutSA,
|
||||||
|
this.deviceType,
|
||||||
|
this.deviceToken,
|
||||||
|
this.message,
|
||||||
|
this.messageType,
|
||||||
|
this.messageTypeData,
|
||||||
|
this.videoURL,
|
||||||
|
this.isQueue,
|
||||||
|
this.isQueueOn,
|
||||||
|
this.createdOn,
|
||||||
|
this.createdBy,
|
||||||
|
this.notificationType,
|
||||||
|
this.isSent,
|
||||||
|
this.isSentOn,
|
||||||
|
this.isRead,
|
||||||
|
this.isReadOn,
|
||||||
|
this.channelID,
|
||||||
|
this.projectID});
|
||||||
|
|
||||||
|
GetNotificationsResponseModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['Id'];
|
||||||
|
recordId = json['RecordId'];
|
||||||
|
patientID = json['PatientID'];
|
||||||
|
projectOutSA = json['ProjectOutSA'];
|
||||||
|
deviceType = json['DeviceType'];
|
||||||
|
deviceToken = json['DeviceToken'];
|
||||||
|
message = json['Message'];
|
||||||
|
messageType = json['MessageType'];
|
||||||
|
messageTypeData = json['MessageTypeData'];
|
||||||
|
videoURL = json['VideoURL'];
|
||||||
|
isQueue = json['IsQueue'];
|
||||||
|
isQueueOn = json['IsQueueOn'];
|
||||||
|
createdOn = json['CreatedOn'];
|
||||||
|
createdBy = json['CreatedBy'];
|
||||||
|
notificationType = json['NotificationType'];
|
||||||
|
isSent = json['IsSent'];
|
||||||
|
isSentOn = json['IsSentOn'];
|
||||||
|
isRead = json['IsRead'];
|
||||||
|
isReadOn = json['IsReadOn'];
|
||||||
|
channelID = json['ChannelID'];
|
||||||
|
projectID = json['ProjectID'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['Id'] = this.id;
|
||||||
|
data['RecordId'] = this.recordId;
|
||||||
|
data['PatientID'] = this.patientID;
|
||||||
|
data['ProjectOutSA'] = this.projectOutSA;
|
||||||
|
data['DeviceType'] = this.deviceType;
|
||||||
|
data['DeviceToken'] = this.deviceToken;
|
||||||
|
data['Message'] = this.message;
|
||||||
|
data['MessageType'] = this.messageType;
|
||||||
|
data['MessageTypeData'] = this.messageTypeData;
|
||||||
|
data['VideoURL'] = this.videoURL;
|
||||||
|
data['IsQueue'] = this.isQueue;
|
||||||
|
data['IsQueueOn'] = this.isQueueOn;
|
||||||
|
data['CreatedOn'] = this.createdOn;
|
||||||
|
data['CreatedBy'] = this.createdBy;
|
||||||
|
data['NotificationType'] = this.notificationType;
|
||||||
|
data['IsSent'] = this.isSent;
|
||||||
|
data['IsSentOn'] = this.isSentOn;
|
||||||
|
data['IsRead'] = this.isRead;
|
||||||
|
data['IsReadOn'] = this.isReadOn;
|
||||||
|
data['ChannelID'] = this.channelID;
|
||||||
|
data['ProjectID'] = this.projectID;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
class MarkMessageAsReadRequestModel {
|
||||||
|
int notificationPoolID;
|
||||||
|
|
||||||
|
MarkMessageAsReadRequestModel({this.notificationPoolID});
|
||||||
|
|
||||||
|
MarkMessageAsReadRequestModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
notificationPoolID = json['NotificationPoolID'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['NotificationPoolID'] = this.notificationPoolID;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,211 @@
|
|||||||
|
import 'package:diplomaticquarterapp/config/config.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_request_modle.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hHC_all_pres_orders_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
import '../base_service.dart';
|
||||||
|
|
||||||
|
class CustomerAddressesService extends BaseService {
|
||||||
|
|
||||||
|
List<AddressInfo> addressesList = List();
|
||||||
|
CustomerInfo customerInfo;
|
||||||
|
|
||||||
|
Future addAddressInfo({ AddNewAddressRequestModel
|
||||||
|
addNewAddressRequestModel }) async {
|
||||||
|
|
||||||
|
addNewAddressRequestModel.customer.email = customerInfo.email;
|
||||||
|
addNewAddressRequestModel.customer.id = customerInfo.customerId;
|
||||||
|
addNewAddressRequestModel.customer.roleIds = [3];
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].email = customerInfo.email;
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].phoneNumber = customerInfo.mobileNumber;
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].firstName = user.firstName;
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].lastName = user.lastName;
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].countryId = 69;
|
||||||
|
|
||||||
|
var f = DateFormat('E, d MMM yyyy HH:mm:ss');
|
||||||
|
var date = f.format(DateTime.now().toUtc()) + " GMT";
|
||||||
|
addNewAddressRequestModel.customer.addresses[0].createdOnUtc = date;
|
||||||
|
hasError = false;
|
||||||
|
await baseAppClient.post(ADD_ADDRESS_INFO,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
addressesList.clear();
|
||||||
|
response["customers"][0]["addresses"].forEach((data) {
|
||||||
|
addressesList
|
||||||
|
.add(AddressInfo.fromJson(data));
|
||||||
|
});
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, body: addNewAddressRequestModel.toJson(), isExternal: true, isAllowAny: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future getCustomerAddresses() async {
|
||||||
|
Map<String, String> queryParams = {
|
||||||
|
'fields':'addresses'
|
||||||
|
};
|
||||||
|
hasError = false;
|
||||||
|
await baseAppClient.get("$GET_CUSTOMER_ADDRESSES${customerInfo.customerId}",
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
addressesList.clear();
|
||||||
|
response["customers"][0]["addresses"].forEach((data) {
|
||||||
|
addressesList
|
||||||
|
.add(AddressInfo.fromJson(data));
|
||||||
|
});
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, queryParams: queryParams, isExternal: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Future getCustomerInfo() async {
|
||||||
|
Map<String, String> queryParams = {
|
||||||
|
'FileNumber':'${user.patientID}'
|
||||||
|
};
|
||||||
|
|
||||||
|
hasError = false;
|
||||||
|
await baseAppClient.get(GET_CUSTOMER_INFO,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
customerInfo= CustomerInfo.fromJson(response);
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, queryParams: queryParams, isExternal: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerInfo {
|
||||||
|
bool isRegistered;
|
||||||
|
String userName;
|
||||||
|
Null password;
|
||||||
|
String email;
|
||||||
|
Null errorMessage;
|
||||||
|
String mobileNumber;
|
||||||
|
int customerId;
|
||||||
|
|
||||||
|
CustomerInfo(
|
||||||
|
{this.isRegistered,
|
||||||
|
this.userName,
|
||||||
|
this.password,
|
||||||
|
this.email,
|
||||||
|
this.errorMessage,
|
||||||
|
this.mobileNumber,
|
||||||
|
this.customerId});
|
||||||
|
|
||||||
|
CustomerInfo.fromJson(Map<String, dynamic> json) {
|
||||||
|
isRegistered = json['IsRegistered'];
|
||||||
|
userName = json['UserName'];
|
||||||
|
password = json['Password'];
|
||||||
|
email = json['Email'];
|
||||||
|
errorMessage = json['ErrorMessage'];
|
||||||
|
mobileNumber = json['MobileNumber'];
|
||||||
|
customerId = json['CustomerId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['IsRegistered'] = this.isRegistered;
|
||||||
|
data['UserName'] = this.userName;
|
||||||
|
data['Password'] = this.password;
|
||||||
|
data['Email'] = this.email;
|
||||||
|
data['ErrorMessage'] = this.errorMessage;
|
||||||
|
data['MobileNumber'] = this.mobileNumber;
|
||||||
|
data['CustomerId'] = this.customerId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class AddressInfo {
|
||||||
|
String id;
|
||||||
|
String firstName;
|
||||||
|
String lastName;
|
||||||
|
String email;
|
||||||
|
Null company;
|
||||||
|
int countryId;
|
||||||
|
String country;
|
||||||
|
Null stateProvinceId;
|
||||||
|
String city;
|
||||||
|
String address1;
|
||||||
|
String address2;
|
||||||
|
String zipPostalCode;
|
||||||
|
String phoneNumber;
|
||||||
|
Null faxNumber;
|
||||||
|
String customerAttributes;
|
||||||
|
String createdOnUtc;
|
||||||
|
Null province;
|
||||||
|
String latLong;
|
||||||
|
|
||||||
|
AddressInfo(
|
||||||
|
{this.id,
|
||||||
|
this.firstName,
|
||||||
|
this.lastName,
|
||||||
|
this.email,
|
||||||
|
this.company,
|
||||||
|
this.countryId,
|
||||||
|
this.country,
|
||||||
|
this.stateProvinceId,
|
||||||
|
this.city,
|
||||||
|
this.address1,
|
||||||
|
this.address2,
|
||||||
|
this.zipPostalCode,
|
||||||
|
this.phoneNumber,
|
||||||
|
this.faxNumber,
|
||||||
|
this.customerAttributes,
|
||||||
|
this.createdOnUtc,
|
||||||
|
this.province,
|
||||||
|
this.latLong});
|
||||||
|
|
||||||
|
AddressInfo.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
firstName = json['first_name'];
|
||||||
|
lastName = json['last_name'];
|
||||||
|
email = json['email'];
|
||||||
|
company = json['company'];
|
||||||
|
countryId = json['country_id'];
|
||||||
|
country = json['country'];
|
||||||
|
stateProvinceId = json['state_province_id'];
|
||||||
|
city = json['city'];
|
||||||
|
address1 = json['address1'];
|
||||||
|
address2 = json['address2'];
|
||||||
|
zipPostalCode = json['zip_postal_code'];
|
||||||
|
phoneNumber = json['phone_number'];
|
||||||
|
faxNumber = json['fax_number'];
|
||||||
|
customerAttributes = json['customer_attributes'];
|
||||||
|
createdOnUtc = json['created_on_utc'];
|
||||||
|
province = json['province'];
|
||||||
|
latLong = json['lat_long'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['first_name'] = this.firstName;
|
||||||
|
data['last_name'] = this.lastName;
|
||||||
|
data['email'] = this.email;
|
||||||
|
data['company'] = this.company;
|
||||||
|
data['country_id'] = this.countryId;
|
||||||
|
data['country'] = this.country;
|
||||||
|
data['state_province_id'] = this.stateProvinceId;
|
||||||
|
data['city'] = this.city;
|
||||||
|
data['address1'] = this.address1;
|
||||||
|
data['address2'] = this.address2;
|
||||||
|
data['zip_postal_code'] = this.zipPostalCode;
|
||||||
|
data['phone_number'] = this.phoneNumber;
|
||||||
|
data['fax_number'] = this.faxNumber;
|
||||||
|
data['customer_attributes'] = this.customerAttributes;
|
||||||
|
data['created_on_utc'] = this.createdOnUtc;
|
||||||
|
data['province'] = this.province;
|
||||||
|
data['lat_long'] = this.latLong;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,27 +0,0 @@
|
|||||||
import 'package:diplomaticquarterapp/config/config.dart';
|
|
||||||
import 'package:diplomaticquarterapp/core/model/childvaccines/get_vacainations_itemsmodel.dart';
|
|
||||||
|
|
||||||
import '../base_service.dart';
|
|
||||||
|
|
||||||
class GetVccinationsItemsService extends BaseService {
|
|
||||||
List<GET_VACCINATIONS_ITEMSMODEL> getVaccinationsItemModelList = List();
|
|
||||||
Map<String, dynamic> body = Map();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Future getaccinationsitemOrders() async {
|
|
||||||
hasError = false;
|
|
||||||
await baseAppClient.post(GET_TABLE_REQUEST,
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
getVaccinationsItemModelList.clear();
|
|
||||||
response['List_CreateVaccinationTableModel'].forEach((vital) {
|
|
||||||
getVaccinationsItemModelList.add(
|
|
||||||
GET_VACCINATIONS_ITEMSMODEL.fromJson(vital));
|
|
||||||
});
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
hasError = true;
|
|
||||||
super.error = error;
|
|
||||||
}, body: body);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
import 'package:diplomaticquarterapp/config/config.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_response_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/mark_message_as_read_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||||
|
|
||||||
|
class NotificationService extends BaseService {
|
||||||
|
List<GetNotificationsResponseModel> notificationsList = List();
|
||||||
|
|
||||||
|
Future getAllNotifications(GetNotificationsRequestModel getNotificationsRequestModel ) async {
|
||||||
|
hasError = false;
|
||||||
|
await baseAppClient.post(PUSH_NOTIFICATION_GET_ALL_NOTIFICATIONS,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
if(getNotificationsRequestModel.currentPage ==0)
|
||||||
|
notificationsList.clear();
|
||||||
|
response['List_GetAllNotificationsFromPool'].forEach((appoint) {
|
||||||
|
notificationsList.add(GetNotificationsResponseModel.fromJson(appoint));
|
||||||
|
});
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, body: getNotificationsRequestModel.toJson());
|
||||||
|
}
|
||||||
|
Future markAsRead(MarkMessageAsReadRequestModel markMessageAsReadRequestModel ) async {
|
||||||
|
hasError = false;
|
||||||
|
await baseAppClient.post(PUSH_NOTIFICATION_SET_MESSAGES_FROM_POOL_AS_READ,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
updateNotification(markMessageAsReadRequestModel.notificationPoolID);
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, body: markMessageAsReadRequestModel.toJson());
|
||||||
|
}
|
||||||
|
|
||||||
|
updateNotification(id) {
|
||||||
|
int index = notificationsList.indexWhere((element) => element.id == id);
|
||||||
|
notificationsList[index].isRead = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,136 @@
|
|||||||
|
class AddNewAddressRequestModel {
|
||||||
|
Customer customer;
|
||||||
|
|
||||||
|
AddNewAddressRequestModel({this.customer});
|
||||||
|
|
||||||
|
AddNewAddressRequestModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
customer = json['customer'] != null
|
||||||
|
? new Customer.fromJson(json['customer'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
if (this.customer != null) {
|
||||||
|
data['customer'] = this.customer.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Customer {
|
||||||
|
List<Addresses> addresses;
|
||||||
|
int id;
|
||||||
|
String email;
|
||||||
|
List<int> roleIds;
|
||||||
|
|
||||||
|
Customer({this.addresses, this.id, this.email, this.roleIds});
|
||||||
|
|
||||||
|
Customer.fromJson(Map<String, dynamic> json) {
|
||||||
|
if (json['addresses'] != null) {
|
||||||
|
addresses = new List<Addresses>();
|
||||||
|
json['addresses'].forEach((v) {
|
||||||
|
addresses.add(new Addresses.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
id = json['id'];
|
||||||
|
email = json['email'];
|
||||||
|
roleIds = json['role_ids'].cast<int>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
if (this.addresses != null) {
|
||||||
|
data['addresses'] = this.addresses.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['email'] = this.email;
|
||||||
|
data['role_ids'] = this.roleIds;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Addresses {
|
||||||
|
int id;
|
||||||
|
String firstName;
|
||||||
|
String lastName;
|
||||||
|
String email;
|
||||||
|
Null company;
|
||||||
|
int countryId;
|
||||||
|
String country;
|
||||||
|
Null stateProvinceId;
|
||||||
|
String city;
|
||||||
|
String address1;
|
||||||
|
String address2;
|
||||||
|
String zipPostalCode;
|
||||||
|
String phoneNumber;
|
||||||
|
Null faxNumber;
|
||||||
|
String customerAttributes;
|
||||||
|
String createdOnUtc;
|
||||||
|
Null province;
|
||||||
|
String latLong;
|
||||||
|
|
||||||
|
Addresses(
|
||||||
|
{this.id,
|
||||||
|
this.firstName,
|
||||||
|
this.lastName,
|
||||||
|
this.email,
|
||||||
|
this.company,
|
||||||
|
this.countryId,
|
||||||
|
this.country,
|
||||||
|
this.stateProvinceId,
|
||||||
|
this.city,
|
||||||
|
this.address1,
|
||||||
|
this.address2,
|
||||||
|
this.zipPostalCode,
|
||||||
|
this.phoneNumber,
|
||||||
|
this.faxNumber,
|
||||||
|
this.customerAttributes,
|
||||||
|
this.createdOnUtc,
|
||||||
|
this.province,
|
||||||
|
this.latLong});
|
||||||
|
|
||||||
|
Addresses.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
firstName = json['first_name'];
|
||||||
|
lastName = json['last_name'];
|
||||||
|
email = json['email'];
|
||||||
|
company = json['company'];
|
||||||
|
countryId = json['country_id'];
|
||||||
|
country = json['country'];
|
||||||
|
stateProvinceId = json['state_province_id'];
|
||||||
|
city = json['city'];
|
||||||
|
address1 = json['address1'];
|
||||||
|
address2 = json['address2'];
|
||||||
|
zipPostalCode = json['zip_postal_code'];
|
||||||
|
phoneNumber = json['phone_number'];
|
||||||
|
faxNumber = json['fax_number'];
|
||||||
|
customerAttributes = json['customer_attributes'];
|
||||||
|
createdOnUtc = json['created_on_utc'];
|
||||||
|
province = json['province'];
|
||||||
|
latLong = json['lat_long'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['first_name'] = this.firstName;
|
||||||
|
data['last_name'] = this.lastName;
|
||||||
|
data['email'] = this.email;
|
||||||
|
data['company'] = this.company;
|
||||||
|
data['country_id'] = this.countryId;
|
||||||
|
data['country'] = this.country;
|
||||||
|
data['state_province_id'] = this.stateProvinceId;
|
||||||
|
data['city'] = this.city;
|
||||||
|
data['address1'] = this.address1;
|
||||||
|
data['address2'] = this.address2;
|
||||||
|
data['zip_postal_code'] = this.zipPostalCode;
|
||||||
|
data['phone_number'] = this.phoneNumber;
|
||||||
|
data['fax_number'] = this.faxNumber;
|
||||||
|
data['customer_attributes'] = this.customerAttributes;
|
||||||
|
data['created_on_utc'] = this.createdOnUtc;
|
||||||
|
data['province'] = this.province;
|
||||||
|
data['lat_long'] = this.latLong;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,30 +1,27 @@
|
|||||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||||
import 'package:diplomaticquarterapp/core/model/childvaccines/add_newchild_model.dart';
|
import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
|
||||||
import 'package:diplomaticquarterapp/core/model/childvaccines/create_vaccination_table.dart';
|
import 'package:diplomaticquarterapp/core/model/childvaccines/create_vaccination_table.dart';
|
||||||
import 'package:diplomaticquarterapp/core/service/childvaccines/add_new_child_service.dart';
|
import 'package:diplomaticquarterapp/core/model/childvaccines/user_information_model.dart';
|
||||||
import 'package:diplomaticquarterapp/core/service/childvaccines/vaccination_table_service.dart';
|
import 'package:diplomaticquarterapp/core/service/childvaccines/vaccination_table_service.dart';
|
||||||
|
|
||||||
import '../../../locator.dart';
|
import '../../../locator.dart';
|
||||||
import '../base_view_model.dart';
|
import '../base_view_model.dart';
|
||||||
|
|
||||||
|
class VaccinationTableViewModel extends BaseViewModel {
|
||||||
|
VaccinationTableService _creteVaccinationTableService =
|
||||||
|
locator<VaccinationTableService>();
|
||||||
|
|
||||||
class VaccinationTableViewModel extends BaseViewModel{
|
List<CreateVaccinationTable> get creteVaccinationTableModelList =>
|
||||||
|
_creteVaccinationTableService.createVaccinationTableModelList;
|
||||||
|
|
||||||
VaccinationTableService _creteVaccinationTableService = locator<VaccinationTableService>();
|
getCreateVaccinationTable({List_BabyInformationModel babyInfo, List_UserInformationModel informationModel, bool isSendEmail =false}) async {
|
||||||
|
|
||||||
// String get creteVaccinationTableContent => _creteVaccinationTableService.userAgreementContent;
|
|
||||||
//String get userAgreementContent => _creteNewBabyService.v//_reportsService.userAgreementContent;
|
|
||||||
List<CreateVaccinationTable> get creteVaccinationTableModelList=> _creteVaccinationTableService.createVaccinationTableModelList;//.createNewBabyModelList;
|
|
||||||
getCreateVaccinationTable() async {
|
|
||||||
setState(ViewState.Busy);
|
setState(ViewState.Busy);
|
||||||
|
|
||||||
await _creteVaccinationTableService.getCreateVaccinationTableOrders();//getCreateNewBabyOrders();
|
await _creteVaccinationTableService.getCreateVaccinationTableOrders(babyInfo: babyInfo,informationModel: informationModel,isSendEmail: isSendEmail);
|
||||||
|
if (_creteVaccinationTableService.hasError) {
|
||||||
if ( _creteVaccinationTableService.hasError) {
|
error = _creteVaccinationTableService.error;
|
||||||
error = _creteVaccinationTableService.error;
|
|
||||||
setState(ViewState.Error);
|
setState(ViewState.Error);
|
||||||
} else
|
} else
|
||||||
setState(ViewState.Idle);
|
setState(ViewState.Idle);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,40 @@
|
|||||||
|
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_response_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/model/notifications/mark_message_as_read_request_model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/service/notifications_service.dart';
|
||||||
|
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class NotificationViewModel extends BaseViewModel {
|
||||||
|
NotificationService _notificationService = locator<NotificationService>();
|
||||||
|
|
||||||
|
List<GetNotificationsResponseModel> get notifications =>
|
||||||
|
_notificationService.notificationsList;
|
||||||
|
|
||||||
|
Future getNotifications(
|
||||||
|
GetNotificationsRequestModel getNotificationsRequestModel, BuildContext context) async {
|
||||||
|
if(getNotificationsRequestModel.currentPage == 0)
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
|
||||||
|
await _notificationService
|
||||||
|
.getAllNotifications(getNotificationsRequestModel);
|
||||||
|
if (_notificationService.hasError) {
|
||||||
|
error = _notificationService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else {
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future markAsRead(id) async {
|
||||||
|
// setState(ViewState.Busy);
|
||||||
|
MarkMessageAsReadRequestModel markMessageAsReadRequestModel =
|
||||||
|
new MarkMessageAsReadRequestModel(notificationPoolID: id);
|
||||||
|
await _notificationService.markAsRead(markMessageAsReadRequestModel);
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|
||||||
|
class ToDoCountProviderModel with ChangeNotifier {
|
||||||
|
int _count;
|
||||||
|
|
||||||
|
int get count => _count == null ? 0 : _count;
|
||||||
|
|
||||||
|
void setState(int count) {
|
||||||
|
_count = count;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,147 @@
|
|||||||
|
import 'package:diplomaticquarterapp/config/config.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
|
||||||
|
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.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/base/base_view.dart';
|
||||||
|
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
||||||
|
import 'package:diplomaticquarterapp/uitl/utils.dart';
|
||||||
|
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
|
||||||
|
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||||
|
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:provider/provider.dart';
|
||||||
|
|
||||||
|
class CMCLocationPage extends StatefulWidget {
|
||||||
|
final Function(PickResult) onPick;
|
||||||
|
final double latitude;
|
||||||
|
final double longitude;
|
||||||
|
final dynamic model;
|
||||||
|
|
||||||
|
const CMCLocationPage({Key key, this.onPick, this.latitude, this.longitude, this.model})
|
||||||
|
: super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_CMCLocationPageState createState() =>
|
||||||
|
_CMCLocationPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CMCLocationPageState
|
||||||
|
extends State<CMCLocationPage> {
|
||||||
|
double latitude = 0;
|
||||||
|
double longitude = 0;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
|
||||||
|
latitude = widget.latitude;
|
||||||
|
longitude = widget.longitude;
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
ProjectViewModel projectViewModel = Provider.of(context);
|
||||||
|
return BaseView<CMCViewModel>(
|
||||||
|
onModelReady: (model) {},
|
||||||
|
builder: (_, model, widget) => AppScaffold(
|
||||||
|
isShowDecPage: false,
|
||||||
|
isShowAppBar: true,
|
||||||
|
baseViewModel: model,
|
||||||
|
body: PlacePicker(
|
||||||
|
apiKey: GOOGLE_API_KEY,
|
||||||
|
enableMyLocationButton: true,
|
||||||
|
automaticallyImplyAppBarLeading: false,
|
||||||
|
autocompleteOnTrailingWhitespace: true,
|
||||||
|
selectInitialPosition: true,
|
||||||
|
autocompleteLanguage: projectViewModel.currentLanguage,
|
||||||
|
enableMapTypeButton: true,
|
||||||
|
searchForInitialValue: false,
|
||||||
|
onPlacePicked: (PickResult result) {
|
||||||
|
print(result.adrAddress);
|
||||||
|
|
||||||
|
},
|
||||||
|
selectedPlaceWidgetBuilder:
|
||||||
|
(_, selectedPlace, state, isSearchBarFocused) {
|
||||||
|
print("state: $state, isSearchBarFocused: $isSearchBarFocused");
|
||||||
|
return isSearchBarFocused
|
||||||
|
? Container()
|
||||||
|
: FloatingCard(
|
||||||
|
bottomPosition: 0.0,
|
||||||
|
leftPosition: 0.0,
|
||||||
|
rightPosition: 0.0,
|
||||||
|
width: 500,
|
||||||
|
borderRadius: BorderRadius.circular(12.0),
|
||||||
|
child: state == SearchingState.Searching
|
||||||
|
? Center(child: CircularProgressIndicator())
|
||||||
|
: Container(
|
||||||
|
margin: EdgeInsets.all(12),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
SecondaryButton(
|
||||||
|
color: Colors.grey[800],
|
||||||
|
textColor: Colors.white,
|
||||||
|
onTap: () async {
|
||||||
|
print(selectedPlace);
|
||||||
|
AddNewAddressRequestModel
|
||||||
|
addNewAddressRequestModel =
|
||||||
|
new AddNewAddressRequestModel(
|
||||||
|
customer: Customer(addresses: [
|
||||||
|
Addresses(
|
||||||
|
address1:
|
||||||
|
selectedPlace.formattedAddress,
|
||||||
|
address2: selectedPlace
|
||||||
|
.formattedAddress,
|
||||||
|
customerAttributes: "",
|
||||||
|
city: "",
|
||||||
|
createdOnUtc: "",
|
||||||
|
id: 0,
|
||||||
|
latLong: "$latitude,$longitude",
|
||||||
|
email: "")
|
||||||
|
]),
|
||||||
|
);
|
||||||
|
|
||||||
|
selectedPlace.addressComponents.forEach((e) {
|
||||||
|
if (e.types.contains("country")) {
|
||||||
|
addNewAddressRequestModel.customer
|
||||||
|
.addresses[0].country = e.longName;
|
||||||
|
}
|
||||||
|
if (e.types.contains("postal_code")) {
|
||||||
|
addNewAddressRequestModel.customer
|
||||||
|
.addresses[0].zipPostalCode =
|
||||||
|
e.longName;
|
||||||
|
}
|
||||||
|
if (e.types.contains("locality")) {
|
||||||
|
addNewAddressRequestModel.customer
|
||||||
|
.addresses[0].city =
|
||||||
|
e.longName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await model.addAddressInfo(
|
||||||
|
addNewAddressRequestModel: addNewAddressRequestModel);
|
||||||
|
if (model.state == ViewState.ErrorLocal) {
|
||||||
|
Utils.showErrorToast(model.error);
|
||||||
|
} else {
|
||||||
|
AppToast.showSuccessToast(
|
||||||
|
message: "Address Added Successfully");
|
||||||
|
}
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
label: " Add New Address ",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
initialPosition: LatLng(latitude, longitude),
|
||||||
|
useCurrentLocation: false,
|
||||||
|
),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,68 +0,0 @@
|
|||||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
|
||||||
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.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';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:hexcolor/hexcolor.dart';
|
|
||||||
import 'cmc_page.dart';
|
|
||||||
|
|
||||||
class CMCIndexPage extends StatelessWidget {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return AppScaffold(
|
|
||||||
isShowAppBar: true,
|
|
||||||
appBarTitle: TranslationBase.of(context).serviceInformation,
|
|
||||||
body: SingleChildScrollView(
|
|
||||||
padding: EdgeInsets.all(12),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: <Widget>[
|
|
||||||
Texts(
|
|
||||||
"CMC",
|
|
||||||
fontWeight: FontWeight.normal,
|
|
||||||
fontSize: 25,
|
|
||||||
color: Color(0xff60686b),
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 12,
|
|
||||||
),
|
|
||||||
Texts(
|
|
||||||
"This service is designed to help you to set drinking water goals and track the volume of water you are drinking on a daily basis. This service allows for schedule reminders and offers a basic statistical analysis of the amount of what you have consumed over the course of a day, week or month.",
|
|
||||||
fontWeight: FontWeight.normal,
|
|
||||||
fontSize: 17,
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 22,
|
|
||||||
),
|
|
||||||
Center(
|
|
||||||
child: Image.asset(
|
|
||||||
'assets/images/AlHabibMedicalService/Wifi-AR.png')),
|
|
||||||
SizedBox(
|
|
||||||
height: 77,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)),
|
|
||||||
bottomSheet: Container(
|
|
||||||
height: MediaQuery.of(context).size.height * 0.10,
|
|
||||||
width: double.infinity,
|
|
||||||
child: Column(
|
|
||||||
children: <Widget>[
|
|
||||||
Container(
|
|
||||||
width: MediaQuery.of(context).size.width * 0.9,
|
|
||||||
child: SecondaryButton(
|
|
||||||
onTap: () => Navigator.push(
|
|
||||||
context,
|
|
||||||
FadePage(
|
|
||||||
page: CMCPage(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
label: "CMC",
|
|
||||||
textColor: Theme.of(context).backgroundColor),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||