Merge branch 'refactor' into 'development'
Refactor See merge request Cloud_Solution/doctor_app_flutter!171pull/173/head
commit
d57eeb0a01
@ -0,0 +1,27 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/request_doctor_reply.dart';
|
||||||
|
|
||||||
|
class DoctorReplyService extends BaseService {
|
||||||
|
|
||||||
|
List<ListGtMyPatientsQuestions> get listDoctorWorkingHoursTable => _listDoctorWorkingHoursTable;
|
||||||
|
List<ListGtMyPatientsQuestions> _listDoctorWorkingHoursTable = [];
|
||||||
|
|
||||||
|
|
||||||
|
RequestDoctorReply _requestDoctorReply = RequestDoctorReply();
|
||||||
|
Future getDoctorReply() async {
|
||||||
|
await baseAppClient.post(GT_MY_PATIENT_QUESTION,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
_listDoctorWorkingHoursTable.clear();
|
||||||
|
response['List_GtMyPatientsQuestions'].forEach((v) {
|
||||||
|
_listDoctorWorkingHoursTable
|
||||||
|
.add(ListGtMyPatientsQuestions.fromJson(v));
|
||||||
|
});
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, body: _requestDoctorReply.toJson(),);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/request_schedule.dart';
|
||||||
|
|
||||||
|
class ScheduleService extends BaseService {
|
||||||
|
|
||||||
|
List<ListDoctorWorkingHoursTable> get listDoctorWorkingHoursTable => _listDoctorWorkingHoursTable;
|
||||||
|
List<ListDoctorWorkingHoursTable> _listDoctorWorkingHoursTable = [];
|
||||||
|
|
||||||
|
|
||||||
|
RequestSchedule _requestSchedule = RequestSchedule();
|
||||||
|
Future getDoctorSchedule() async {
|
||||||
|
await baseAppClient.post(GET_DOCTOR_WORKING_HOURS_TABLE,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
_listDoctorWorkingHoursTable.clear();
|
||||||
|
response['List_DoctorWorkingHoursTable'].forEach((v) {
|
||||||
|
_listDoctorWorkingHoursTable
|
||||||
|
.add(ListDoctorWorkingHoursTable.fromJson(v));
|
||||||
|
});
|
||||||
|
}, onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
}, body: _requestSchedule.toJson(),);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/doctor_reply_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/hospital/hospitals_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class DoctorReplayViewModel extends BaseViewModel {
|
||||||
|
DoctorReplyService _doctorReplyService = locator<DoctorReplyService>();
|
||||||
|
|
||||||
|
List<ListGtMyPatientsQuestions> get listDoctorWorkingHoursTable => _doctorReplyService.listDoctorWorkingHoursTable;
|
||||||
|
|
||||||
|
Future getDoctorReply() async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _doctorReplyService.getDoctorReply();
|
||||||
|
if (_doctorReplyService.hasError) {
|
||||||
|
error = _doctorReplyService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/doctor_reply_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/hospital/hospitals_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/schedule_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class ScheduleViewModel extends BaseViewModel {
|
||||||
|
ScheduleService _scheduleService = locator<ScheduleService>();
|
||||||
|
|
||||||
|
List<ListDoctorWorkingHoursTable> get listDoctorWorkingHoursTable => _scheduleService.listDoctorWorkingHoursTable;
|
||||||
|
|
||||||
|
Future getDoctorSchedule() async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _scheduleService.getDoctorSchedule();
|
||||||
|
if (_scheduleService.hasError) {
|
||||||
|
error = _scheduleService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
@ -1,41 +0,0 @@
|
|||||||
import 'package:doctor_app_flutter/client/base_app_client.dart';
|
|
||||||
import 'package:doctor_app_flutter/config/config.dart';
|
|
||||||
import 'package:doctor_app_flutter/models/doctor/request_doctor_reply.dart';
|
|
||||||
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
|
||||||
class DoctorReplyProvider with ChangeNotifier {
|
|
||||||
List<ListGtMyPatientsQuestions> listDoctorWorkingHoursTable = [];
|
|
||||||
|
|
||||||
bool isLoading = true;
|
|
||||||
bool isError = false;
|
|
||||||
String error = '';
|
|
||||||
RequestDoctorReply _requestDoctorReply = RequestDoctorReply();
|
|
||||||
BaseAppClient baseAppClient = BaseAppClient();
|
|
||||||
DoctorReplyProvider() {
|
|
||||||
getDoctorReply();
|
|
||||||
}
|
|
||||||
|
|
||||||
getDoctorReply() async {
|
|
||||||
try {
|
|
||||||
await baseAppClient.post(GT_MY_PATIENT_QUESTION,
|
|
||||||
body: _requestDoctorReply.toJson(),
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
response['List_GtMyPatientsQuestions'].forEach((v) {
|
|
||||||
listDoctorWorkingHoursTable
|
|
||||||
.add(ListGtMyPatientsQuestions.fromJson(v));
|
|
||||||
isError = false;
|
|
||||||
isLoading = false;
|
|
||||||
});
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
isError = true;
|
|
||||||
isLoading = false;
|
|
||||||
this.error = error;
|
|
||||||
});
|
|
||||||
|
|
||||||
notifyListeners();
|
|
||||||
} catch (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,68 +0,0 @@
|
|||||||
import 'package:doctor_app_flutter/client/base_app_client.dart';
|
|
||||||
import 'package:doctor_app_flutter/config/config.dart';
|
|
||||||
import 'package:doctor_app_flutter/models/doctor/statstics_for_certain_doctor_request.dart';
|
|
||||||
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
|
|
||||||
import 'package:doctor_app_flutter/util/helpers.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
|
||||||
Helpers helpers = Helpers();
|
|
||||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
|
||||||
|
|
||||||
StatsticsForCertainDoctorRequest _statsticsForCertainDoctorRequest = StatsticsForCertainDoctorRequest();
|
|
||||||
|
|
||||||
|
|
||||||
var certainDoctorsStasticsList = [];
|
|
||||||
|
|
||||||
/*@author: ibrahem albitar
|
|
||||||
*@Date:22/6/2020
|
|
||||||
*@desc: Doctor Provider
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoctorsProvider with ChangeNotifier {
|
|
||||||
|
|
||||||
bool isLoading = false;
|
|
||||||
bool isError = false;
|
|
||||||
String error = '';
|
|
||||||
BaseAppClient baseAppClient = BaseAppClient();
|
|
||||||
resetDefaultValues() {
|
|
||||||
isLoading = true;
|
|
||||||
isError = false;
|
|
||||||
error = '';
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*@author: ibrahem albitar
|
|
||||||
*@Date:22/6/2020
|
|
||||||
*@desc: StatsticsForCertainDoctor
|
|
||||||
*/
|
|
||||||
getStatsticsForCertainDoctor(String generalId) async {
|
|
||||||
resetDefaultValues();
|
|
||||||
try {
|
|
||||||
_statsticsForCertainDoctorRequest.generalid = generalId;
|
|
||||||
await baseAppClient.post(LIVE_CARE_STATISTICS_FOR_CERTAIN_DOCTOR_URL,
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
certainDoctorsStasticsList = response['List_LiveCareCertainDoctorsStastics'];
|
|
||||||
isLoading = false;
|
|
||||||
isError = false;
|
|
||||||
this.error = '';
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
isLoading = false;
|
|
||||||
isError = true;
|
|
||||||
this.error = error;
|
|
||||||
}, body: _statsticsForCertainDoctorRequest.toJson());
|
|
||||||
notifyListeners();
|
|
||||||
} catch (err) {
|
|
||||||
handelCatchErrorCase(err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
handelCatchErrorCase(err) {
|
|
||||||
isLoading = false;
|
|
||||||
isError = true;
|
|
||||||
error = helpers.generateContactAdminMsg(err);
|
|
||||||
notifyListeners();
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
import 'package:doctor_app_flutter/client/base_app_client.dart';
|
|
||||||
import 'package:doctor_app_flutter/config/config.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import '../models/doctor/list_doctor_working_hours_table_model.dart';
|
|
||||||
import '../models/doctor/request_schedule.dart';
|
|
||||||
|
|
||||||
class ScheduleProvider with ChangeNotifier {
|
|
||||||
List<ListDoctorWorkingHoursTable> listDoctorWorkingHoursTable = [];
|
|
||||||
bool isLoading = true;
|
|
||||||
bool isError = false;
|
|
||||||
String error = '';
|
|
||||||
RequestSchedule requestSchedule = RequestSchedule();
|
|
||||||
|
|
||||||
ScheduleProvider() {
|
|
||||||
getDoctorSchedule();
|
|
||||||
}
|
|
||||||
BaseAppClient baseAppClient = BaseAppClient();
|
|
||||||
|
|
||||||
|
|
||||||
getDoctorSchedule() async {
|
|
||||||
try {
|
|
||||||
await baseAppClient.post(GET_DOCTOR_WORKING_HOURS_TABLE,
|
|
||||||
body: requestSchedule.toJson(),
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
response['List_DoctorWorkingHoursTable'].forEach((v) {
|
|
||||||
listDoctorWorkingHoursTable.add(new ListDoctorWorkingHoursTable.fromJson(v));
|
|
||||||
});
|
|
||||||
isError = false;
|
|
||||||
isLoading = false;
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
isLoading = false;
|
|
||||||
isError = true;
|
|
||||||
this.error = error;
|
|
||||||
});
|
|
||||||
notifyListeners();
|
|
||||||
} catch (e) {
|
|
||||||
isLoading = false;
|
|
||||||
isError = true;
|
|
||||||
error = 'Something wrong happened, please contact the admin';
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue