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