You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/core/service/medical/BloodSugarService.dart

125 lines
5.1 KiB
Dart

import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/MonthDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/WeekDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/YearDiabtecResultAverage.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class BloodSugarService extends BaseService {
List<MonthDiabtectResultAverage> monthDiabtectResultAverageList =[];
List<WeekDiabtectResultAverage> weekDiabtectResultAverageList =[];
List<YearDiabtecResultAverage> yearDiabtecResultAverageList =[];
///Result
List<DiabtecPatientResult> monthDiabtecPatientResult =[];
List<DiabtecPatientResult> weekDiabtecPatientResult =[];
List<DiabtecPatientResult> yearDiabtecPatientResult =[];
Future getBloodSugar() async {
hasError = false;
Map<String, dynamic> body = Map();
monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear();
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_DIABETIC_RESULT_AVERAGE, onSuccess: (dynamic response, int statusCode) {
response['List_MonthDiabtectResultAverage'].forEach((item) {
monthDiabtectResultAverageList.add(MonthDiabtectResultAverage.fromJson(item));
});
response['List_WeekDiabtectResultAverage'].forEach((item) {
weekDiabtectResultAverageList.add(WeekDiabtectResultAverage.fromJson(item));
});
response['List_YearDiabtecResultAverage'].forEach((item) {
yearDiabtecResultAverageList.add(YearDiabtecResultAverage.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getDiabtecResults() async {
hasError = false;
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
await baseAppClient.post(GET_DIABTEC_RESULT, onSuccess: (dynamic response, int statusCode) {
response['List_MonthDiabtecPatientResult'].forEach((item) {
monthDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
response['List_WeekDiabtecPatientResult'].forEach((item) {
weekDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
response['List_YearDiabtecPatientResult'].forEach((item) {
yearDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
super.error = error;
}, body: Map());
}
addDiabtecResult({String? bloodSugerDateChart, String? bloodSugerResult, String? diabtecUnit, int? measuredTime}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['BloodSugerDateChart'] = bloodSugerDateChart;
body['BloodSugerResult'] = bloodSugerResult;
body['DiabtecUnit'] = diabtecUnit;
body['MeasuredTime'] = measuredTime! + 1;
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(ADD_DIABTEC_RESULT, onSuccess: (response, statusCode) async {}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
updateDiabtecResult({DateTime? month, DateTime? hour, String? bloodSugerResult, String? diabtecUnit, int? measuredTime, int? lineItemNo}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['BloodSugerResult'] = bloodSugerResult;
body['DiabtecUnit'] = diabtecUnit;
body['BloodSugerDateChart'] = '${month!.year}-${month.month}-${month.day} ${hour!.hour}:${hour.minute}:00';
body['isDentalAllowedBackend'] = false;
body['MeasuredTime'] = measuredTime! + 1;
body['LineItemNo'] = lineItemNo;
await baseAppClient.post(UPDATE_DIABETIC_RESULT, onSuccess: (response, statusCode) async {}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future sendReportByEmail() async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['To'] = user.emailAddress;
await baseAppClient.post(SEND_AVERAGE_BLOOD_SUGAR_REPORT, onSuccess: (response, statusCode) async {}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future deactivateDiabeticStatus({int? lineItemNo}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['LineItemNo'] = lineItemNo;
await baseAppClient.post(DEACTIVATE_DIABETIC_STATUS, onSuccess: (response, statusCode) async {}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}