bug fixes

merge-requests/365/head
Sultan Khan 3 years ago
parent 5b656b0b51
commit 11ffed2ae3

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

@ -17,12 +17,12 @@ const BASE_URL = 'https://uat.hmgwebservices.com/';
// const BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs
//const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
//const PHARMACY_BASE_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
const PHARMACY_BASE_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
// Pharmacy Production URLs
const BASE_PHARMACY_URL = 'https://mdlaboratories.com/exacartapi/api/';
const PHARMACY_BASE_URL = 'https://mdlaboratories.com/exacartapi/api/';
// const BASE_PHARMACY_URL = 'https://mdlaboratories.com/exacartapi/api/';
// const PHARMACY_BASE_URL = 'https://mdlaboratories.com/exacartapi/api/';
const PING_SERVICE = 'Services/Weather.svc/REST/CheckConnectivity';
@ -49,7 +49,8 @@ const WIFI_CREDENTIALS =
const GET_MY_DOCTOR =
'Services/Doctors.svc/REST/GetPatientDoctorAppointmentResult';
const GET_DOCTOR_PROFILE = 'Services/Doctors.svc/REST/GetDocProfiles';
const GET_DOCTOR_PRE_POST_IMAGES = 'Services/Doctors.svc/REST/GetDoctorPrePostImages';
const GET_DOCTOR_PRE_POST_IMAGES =
'Services/Doctors.svc/REST/GetDoctorPrePostImages';
const GET_DOCTOR_RATING_NOTES =
'Services/Doctors.svc/REST/dr_GetNotesDoctorRating';
const GET_DOCTOR_RATING_DETAILS =
@ -125,8 +126,10 @@ const INSERT_ER_INERT_PRES_ORDER =
/// ER RRT
const GET_ALL_RC_TRANSPORTATION = 'rc/api/Transportation/getalltransportation';
const GET_ALL_RRT_QUESTIONS = 'Services/Patients.svc/REST/PatientER_RRT_GetAllQuestions';
const GET_RRT_SERVICE_PRICE = 'Services/Patients.svc/REST/PatientE_RealRRT_GetServicePrice';
const GET_ALL_RRT_QUESTIONS =
'Services/Patients.svc/REST/PatientER_RRT_GetAllQuestions';
const GET_RRT_SERVICE_PRICE =
'Services/Patients.svc/REST/PatientE_RealRRT_GetServicePrice';
///FindUs
const GET_FINDUS_REQUEST = 'Services/Lists.svc/REST/Get_HMG_Locations';
@ -227,6 +230,9 @@ const GET_PATIENT_SHARE =
const GET_PATIENT_APPOINTMENT_HISTORY =
"Services/Doctors.svc/REST/PateintHasAppoimentHistory";
const DOCTOR_SCHEDULE_URL =
'Services/Doctors.svc/REST/GetDoctorWorkingHoursTable';
const SEND_REPORT_EYE_EMAIL =
"Services/Notifications.svc/REST/SendGlassesPrescriptionEmail";

File diff suppressed because it is too large Load Diff

@ -29,7 +29,7 @@ class RequestInsertCOCItem {
int deviceTypeID;
int patientType;
double appVersion;
bool forDemo;
RequestInsertCOCItem(
{this.isUserLoggedIn,
this.mobileNo,
@ -60,7 +60,8 @@ class RequestInsertCOCItem {
this.isDentalAllowedBackend,
this.deviceTypeID,
this.patientType,
this.appVersion});
this.appVersion,
this.forDemo});
RequestInsertCOCItem.fromJson(Map<String, dynamic> json) {
isUserLoggedIn = json['IsUserLoggedIn'];
@ -93,6 +94,7 @@ class RequestInsertCOCItem {
deviceTypeID = json['DeviceTypeID'];
patientType = json['PatientType'];
appVersion = json['AppVersion'];
forDemo = json['ForDemo'];
}
Map<String, dynamic> toJson() {
@ -127,6 +129,8 @@ class RequestInsertCOCItem {
data['DeviceTypeID'] = this.deviceTypeID;
data['PatientType'] = this.patientType;
data['AppVersion'] = this.appVersion;
data['ForDemo'] = this.forDemo;
return data;
}
}

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/models/anicllary-orders/ancillary_order_list_model.dart';
import 'package:diplomaticquarterapp/models/anicllary-orders/ancillary_order_proc_model.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
class AncillaryOrdersService extends BaseService {
List<AncillaryOrdersListModel> _ancillaryLists = List();
@ -18,9 +19,13 @@ class AncillaryOrdersService extends BaseService {
await baseAppClient.post(GET_ANCILLARY_ORDERS,
onSuccess: (dynamic response, int statusCode) {
_ancillaryLists = [];
if (response['AncillaryOrderList'].length == 0) {
new AppToast().backWithEmpty();
} else {
response['AncillaryOrderList'].forEach((item) {
ancillaryLists.add(AncillaryOrdersListModel.fromJson(item));
});
}
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;

@ -20,32 +20,38 @@ class FeedbackService extends BaseService {
String attachment,
AppointmentHistory appointHistory}) async {
hasError = false;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
_requestInsertCOCItem.attachment = attachment;
_requestInsertCOCItem.title = title;
_requestInsertCOCItem.details = details;
_requestInsertCOCItem.cOCTypeName = cOCTypeName;
_requestInsertCOCItem.formTypeID = cOCTypeName;
_requestInsertCOCItem.mobileNo = "966" + Utils.getPhoneNumberWithoutZero(user.mobileNumber);
_requestInsertCOCItem.mobileNo =
"966" + Utils.getPhoneNumberWithoutZero(user.mobileNumber);
_requestInsertCOCItem.isUserLoggedIn = true;
_requestInsertCOCItem.projectID = user.projectID;
_requestInsertCOCItem.patientName = user.firstName + " " + user.lastName;
_requestInsertCOCItem.fileName = "";
_requestInsertCOCItem.appVersion = VERSION_ID;
_requestInsertCOCItem.uILanguage = languageID; //TODO Change it to be dynamic
_requestInsertCOCItem.uILanguage =
languageID; //TODO Change it to be dynamic
_requestInsertCOCItem.browserInfo = Platform.localHostname;
_requestInsertCOCItem.deviceInfo = Platform.localHostname;
_requestInsertCOCItem.resolution = "400x847";
_requestInsertCOCItem.projectID = 0;
_requestInsertCOCItem.identificationNo =
int.parse(user.patientIdentificationNo);
if (BASE_URL.contains('uat')) {
_requestInsertCOCItem.forDemo = true;
}
final Map<String, dynamic> body = _requestInsertCOCItem.toJson();
if (appointHistory != null) {
body['AppoinmentNo'] = appointHistory.appointmentNo;
body['AppointmentDate'] = DateUtil.convertDateToString(appointHistory.appointmentDate);
body['AppointmentDate'] =
DateUtil.convertDateToString(appointHistory.appointmentDate);
body['ClinicID'] = appointHistory.clinicID;
body['ClinicName'] = appointHistory.clinicName;
body['DoctorID'] = appointHistory.doctorID;
@ -65,9 +71,13 @@ class FeedbackService extends BaseService {
hasError = false;
Map<String, dynamic> body = new Map<String, dynamic>();
body['IdentificationNo'] = user.patientIdentificationNo;
body['MobileNo'] = "966" + Utils.getPhoneNumberWithoutZero(user.mobileNumber);
body['MobileNo'] =
"966" + Utils.getPhoneNumberWithoutZero(user.mobileNumber);
body['Searching_type'] = '1';
if (BASE_URL.contains('uat')) {
body['ForDemo'] = true;
}
await baseAppClient.post(GET_STATUS_FOR_COCO,
onSuccess: (dynamic response, int statusCode) {
cOCItemList = [];

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/core/model/eye/AppointmentFilter.dart';
import 'package:diplomaticquarterapp/core/service/medical/EyeService.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
class EyeViewModel extends BaseViewModel {
EyeService _eyeService = locator<EyeService>();
@ -19,6 +20,9 @@ class EyeViewModel extends BaseViewModel {
if (_eyeService.hasError) {
error = _eyeService.error;
setState(ViewState.Error);
} else {
if (_eyeService.appoimentAllHistoryResultList.length == 0) {
new AppToast().backWithEmpty();
} else {
_eyeService.appoimentAllHistoryResultList.forEach((element) {
List<AppointmentFilter> _appointmentFilter = appointmentFilter
@ -39,12 +43,13 @@ class EyeViewModel extends BaseViewModel {
));
}
});
}
setState(ViewState.Idle);
}
}
sendGlassesPrescriptionEmail({int appointmentNo, String projectName, int projectID}) async {
sendGlassesPrescriptionEmail(
{int appointmentNo, String projectName, int projectID}) async {
setState(ViewState.Busy);
await _eyeService.sendGlassesPrescriptionEmail(
appointmentNo: appointmentNo,
@ -58,7 +63,8 @@ class EyeViewModel extends BaseViewModel {
}
}
sendContactLensPrescriptionEmail({int appointmentNo, String projectName, int projectID}) async {
sendContactLensPrescriptionEmail(
{int appointmentNo, String projectName, int projectID}) async {
setState(ViewState.Busy);
await _eyeService.sendContactLensPrescriptionEmail(
appointmentNo: appointmentNo,
@ -71,6 +77,4 @@ class EyeViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
}
}

@ -142,10 +142,10 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
),
Texts(" : "),
Texts(
DateUtil.getFormattedDate(
DateUtil.getDayMonthYearDateFormatted(
DateUtil.convertStringToDate(
model.ancillaryListsDetails[0].appointmentDate),
"MMM dd,yyyy"),
),
)
],
),

@ -103,6 +103,8 @@ class _DoctorProfileState extends State<DoctorProfile>
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: [
Container(
margin: EdgeInsets.only(top: 20.0),
alignment: Alignment.center,
@ -112,6 +114,16 @@ class _DoctorProfileState extends State<DoctorProfile>
fit: BoxFit.fill, height: 120.0, width: 120.0),
),
),
Container(
margin: EdgeInsets.only(top: 20.0),
alignment: Alignment.center,
child: ClipRRect(
borderRadius: BorderRadius.circular(100.0),
child: Image.asset('assets/images/drSchedul.png'),
),
)
],
),
Container(
margin: EdgeInsets.only(top: 10.0),
alignment: Alignment.center,
@ -178,14 +190,11 @@ class _DoctorProfileState extends State<DoctorProfile>
)),
),
),
if (widget.docProfileList.isDoctorHasPrePostImages == true)
Container(
height: 50,
alignment: Alignment.center,
child: prePostImagesButton(context)
),
child: prePostImagesButton(context)),
Container(
child: Divider(
color: Colors.grey[500],
@ -242,7 +251,10 @@ class _DoctorProfileState extends State<DoctorProfile>
color: Theme.of(context).appBarTheme.color,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
onPressed: () => openDoctorPrePostImages(),
child: Text(TranslationBase.of(context).beforeAfterImages, style: TextStyle(color: Colors.white, fontSize: 15, letterSpacing: 1),),
child: Text(
TranslationBase.of(context).beforeAfterImages,
style: TextStyle(color: Colors.white, fontSize: 15, letterSpacing: 1),
),
),
);
}
@ -289,21 +301,22 @@ class _DoctorProfileState extends State<DoctorProfile>
openDoctorPrePostImages() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService().getDoctorPrePostImages(widget.docProfileList, context).then((images) {
DoctorsListService()
.getDoctorPrePostImages(widget.docProfileList, context)
.then((images) {
GifLoaderDialogUtils.hideDialog(context);
showDialog(
context: context, barrierDismissible: true,
context: context,
barrierDismissible: true,
builder: (ctx) {
return DoctorPostPreImagesContent(doctorPrePostImages: images);
}
);
});
// Navigator.push(
// context,
// FadePage(
// page: DoctorPostPreImagesPage(doctorPrePostImages: images,)
// )
// );
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: err);
@ -612,6 +625,4 @@ class _DoctorProfileState extends State<DoctorProfile>
selectedDate: DocAvailableAppointments.selectedDate,
selectedTime: DocAvailableAppointments.selectedTime)));
}
}

@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/SchedulePage.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:rating_bar/rating_bar.dart';
@ -82,7 +83,9 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
body: Container(
color: new Color(0xFFf6f6f6),
child: SingleChildScrollView(
child: Column(
child: Stack(
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
@ -100,8 +103,8 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
),
),
Container(
margin:
EdgeInsets.only(top: 10.0, left: 10.0, right: 10.0),
margin: EdgeInsets.only(
top: 10.0, left: 10.0, right: 10.0),
alignment: Alignment.center,
child: Text(
widget.appo.doctorTitle +
@ -127,7 +130,8 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
margin: EdgeInsets.only(top: 5.0),
alignment: Alignment.center,
child: RatingBar.readOnly(
initialRating: widget.appo.actualDoctorRate.toDouble(),
initialRating:
widget.appo.actualDoctorRate.toDouble(),
size: 35.0,
filledColor: Colors.yellow[700],
emptyColor: Colors.grey[500],
@ -160,7 +164,8 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
),
Container(
alignment: Alignment.center,
child: Text(DateUtil.getWeekDayMonthDayYearDateFormatted(
child: Text(
DateUtil.getWeekDayMonthDayYearDateFormatted(
DateUtil.convertStringToDate(
widget.appo.appointmentDate),
projectViewModel.isArabic ? "ar" : "en")),
@ -193,19 +198,22 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
},
tabs: [
Tab(
child: Text(TranslationBase.of(context).appoActions,
child: Text(
TranslationBase.of(context).appoActions,
style: TextStyle(color: Colors.black))),
widget.appo.clinicID == 17 ||
widget.appo.clinicID == 23 ||
widget.appo.isExecludeDoctor
? Tab(
child: Text(
TranslationBase.of(context).availableAppo,
TranslationBase.of(context)
.availableAppo,
style: TextStyle(color: Colors.grey)),
)
: Tab(
child: Text(
TranslationBase.of(context).availableAppo,
TranslationBase.of(context)
.availableAppo,
style: TextStyle(color: Colors.black)),
)
],
@ -233,6 +241,39 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
),
],
),
_tabController.index == 0
? Positioned(
right: 30.0,
//top: 30.0,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(40),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 7,
offset:
Offset(0, 3), // changes position of shadow
),
]),
height: 50,
width: 50,
margin: EdgeInsets.only(top: 20.0),
alignment: Alignment.center,
child: ClipRRect(
borderRadius: BorderRadius.circular(100.0),
child: IconButton(
icon: Image.asset('assets/images/drSchedul.png'),
onPressed: () {
openSchedule();
}),
),
))
: SizedBox(),
],
),
),
),
);
@ -564,4 +605,8 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
docObj.doctorImageURL = widget.appo.doctorImageURL;
return docObj;
}
void openSchedule() {
Navigator.push(context, FadePage(page: SchedulePage(getDoctorObject())));
}
}

@ -0,0 +1,146 @@
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/models/DoctorScheduleResponse.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/widgets/indicator.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
class SchedulePage extends StatefulWidget {
final DoctorList doctorList;
SchedulePage(this.doctorList);
@override
_SchedulePageState createState() => _SchedulePageState();
}
class _SchedulePageState extends State<SchedulePage> {
DoctorsListService service;
PageController _pageController = PageController();
double currentPage = 0;
int selectedindex = 0;
List<DoctorScheduleResponse> doctorScheduleResponse = [];
final List<Widget> introWidgetsList = <Widget>[
Text('Hello'),
Text('Hi'),
Text('hey')
];
@override
void initState() {
getSchedule(widget.doctorList);
// _pageController.addListener(() {
// setState(() {
// currentPage = _pageController.page;
// });
// });
super.initState();
}
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: TranslationBase.of(context).schedule,
isShowAppBar: true,
body: SizedBox(
height: MediaQuery.of(context).size.height,
child: Stack(
children: [
Container(
child: PageView.builder(
controller: _pageController,
itemCount: 3,
onPageChanged: (index) {
setState(() {
this.currentPage = index.toDouble();
});
},
itemBuilder: (context, index) {
return Container(
child: ListView.builder(
itemCount: doctorScheduleResponse.length,
itemBuilder: (context, index) => ClipRRect(
borderRadius: const BorderRadius.all(
Radius.circular(20.0)),
child: Container(
padding: EdgeInsets.only(
left: 10,
right: 10,
top: 25,
bottom: 25),
height: 100,
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.green,
spreadRadius: 3),
],
borderRadius: const BorderRadius.all(
Radius.circular(10.0)),
color: Colors.white),
child: Row(
children: [
Expanded(
child: Row(children: [
Column(
children: [
Texts(
doctorScheduleResponse[index]
.dayName,
color: HexColor('#0bb690'),
),
Texts(
DateUtil
.getDayMonthYearDateFormatted(
DateUtil
.convertStringToDate(
doctorScheduleResponse[
index]
.date,
),
),
color: HexColor('#0bb690'),
)
],
)
]),
),
Expanded(
child: Texts(
doctorScheduleResponse[index]
.workingHours,
color: HexColor('#0bb690'),
),
)
],
)))));
},
)),
PageViewIndicator(
isActive: true,
currentPage: this.currentPage,
length: introWidgetsList.length,
)
],
)));
}
getSchedule(DoctorList doctor) {
// GifLoaderDialogUtils.showMyDialog(AppGlobal.context);
service = new DoctorsListService();
service.getSchedule(doctor).then((value) {
doctorScheduleResponse.clear();
setState(() {
value['List_DoctorWorkingHoursTable'].forEach((item) => {
doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))
});
});
});
}
}

@ -0,0 +1,32 @@
class DoctorScheduleResponse {
String clinicName;
String date;
String dayName;
String projectName;
String workingHours;
DoctorScheduleResponse(
{this.clinicName,
this.date,
this.dayName,
this.projectName,
this.workingHours});
DoctorScheduleResponse.fromJson(Map<String, dynamic> json) {
clinicName = json['ClinicName'];
date = json['Date'];
dayName = json['DayName'];
projectName = json['ProjectName'];
workingHours = json['WorkingHours'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ClinicName'] = this.clinicName;
data['Date'] = this.date;
data['DayName'] = this.dayName;
data['ProjectName'] = this.projectName;
data['WorkingHours'] = this.workingHours;
return data;
}
}

@ -0,0 +1,48 @@
import 'package:flutter/material.dart';
class PageViewIndicator extends StatelessWidget {
final bool isActive;
final int length;
final double currentPage;
PageViewIndicator({
@required this.isActive,
@required this.length,
@required this.currentPage,
});
@override
Widget build(BuildContext context) {
return _indicator(this.isActive);
}
Widget _indicator(bool isActive) {
return Positioned(
bottom: 10,
left: 0,
right: 0,
child: Container(
margin: EdgeInsets.only(bottom: 35),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
for (int i = 0; i < length; i++)
if (i == currentPage) ...[circleBar(true)] else circleBar(false),
],
),
),
);
}
Widget circleBar(bool isActive) {
return AnimatedContainer(
duration: Duration(milliseconds: 150),
margin: EdgeInsets.symmetric(horizontal: 8),
height: isActive ? 12 : 8,
width: isActive ? 12 : 8,
decoration: BoxDecoration(
color: isActive ? Colors.red : Colors.grey,
borderRadius: BorderRadius.all(Radius.circular(12))),
);
}
}

@ -195,7 +195,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
}
requestPermissions().then((results) {
registerGeofences();
// registerGeofences();
if (results[Permission.notification].isGranted)
_firebaseMessaging.getToken().then((String token) {

@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
class DoctorsListService extends BaseService {
AppSharedPreferences sharedPref = AppSharedPreferences();
@ -216,7 +217,8 @@ class DoctorsListService extends BaseService {
return Future.value(localRes);
}
Future<DoctorPrePostImages> getDoctorPrePostImages(DoctorProfileList doctorProfile, context) async {
Future<DoctorPrePostImages> getDoctorPrePostImages(
DoctorProfileList doctorProfile, context) async {
Map<String, dynamic> request;
request = {
"PatientOutSA": authUser.outSA ?? 0,
@ -350,7 +352,8 @@ class DoctorsListService extends BaseService {
}
Future<Map> insertAppointment(int docID, int clinicID, int projectID,
String selectedTime, String selectedDate, BuildContext context, [String procedureID]) async {
String selectedTime, String selectedDate, BuildContext context,
[String procedureID]) async {
Map<String, dynamic> request;
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
@ -965,8 +968,8 @@ class DoctorsListService extends BaseService {
return Future.value(localRes);
}
Future<Map> addVIDARequest(String advanceNumber,
String paymentReference, dynamic apptData, BuildContext context) async {
Future<Map> addVIDARequest(String advanceNumber, String paymentReference,
dynamic apptData, BuildContext context) async {
Map<String, dynamic> request;
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
var data = AuthenticatedUser.fromJson(
@ -1476,8 +1479,8 @@ class DoctorsListService extends BaseService {
return Future.value(localRes);
}
Future<Map> sendCheckinNfcRequest(
int appointmentNo, String nfcCode,int projectId, BuildContext context) async {
Future<Map> sendCheckinNfcRequest(int appointmentNo, String nfcCode,
int projectId, BuildContext context) async {
Map<String, dynamic> request;
Request req = appGlobal.getPublicRequest();
@ -1495,4 +1498,22 @@ class DoctorsListService extends BaseService {
}, body: request);
return Future.value(localRes);
}
Future<Map> getSchedule(DoctorList doctorRequest) async {
Map<String, dynamic> request;
request = {
'DoctorID': doctorRequest.doctorID,
'ProjectID': doctorRequest.projectID,
'ClinicID': doctorRequest.clinicID,
'DoctorWorkingHoursDays': 7
};
dynamic localRes;
await baseAppClient.post(DOCTOR_SCHEDULE_URL,
onSuccess: (response, statusCode) async {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
return Future.value(localRes);
}
}

@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_flexible_toast/flutter_flexible_toast.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
class AppToast {
/// show long toast message
/// [message] to show for user
/// [timeInSeconds] how many second the toast will appear to the user
@ -113,4 +114,14 @@ class AppToast {
void cancelToast() {
FlutterFlexibleToast.cancel();
}
void backWithEmpty() {
AppToast.showErrorToast(
message: TranslationBase.of(AppGlobal.context).empty);
Navigator.of(AppGlobal.context).pop();
}
void back() {
Navigator.of(AppGlobal.context).pop();
}
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save