import 'package:fis_jsonrpc/rpc.dart'; import 'package:vitalapp/managers/interfaces/contract.dart'; import 'package:vitalapp/rpc.dart'; import 'package:vitalapp/store/store.dart'; class ContractManager implements IContractManager { @override Future createContractRecordAsync( CreateContractRecordRequest request) async { try { request.token = Store.user.token; final result = await rpc.vitalContractRecord.createContractRecordAsync(request); return result; } catch (e) { // logger.e("PatientManager create patient error.", e); return null; } } @override Future?> getContractRecordPageByPatientCodeAsync(String patientCode) async { try { final result = await rpc.vitalContractRecord .getContractRecordPageByPatientCodeAsync( GetContractRecordPageByPatientCodeRequest( patientCode: patientCode, token: Store.user.token, pageSize: 20, pageIndex: 1)); return result; } catch (e) { return null; } } @override Future?> getContractRecordPageAsync() async { try { final result = await rpc.vitalContractRecord.getContractRecordPageAsync( ContractRecordPageRequest( token: Store.user.token, pageSize: 20, pageIndex: 1)); return result; } catch (e) { return null; } } @override Future getContractRecordDetailAsync( String patientCode) async { try { var request = GetContractRecordRequest( code: patientCode, token: Store.user.token, ); final result = await rpc.vitalContractRecord.getContractRecordDetailAsync(request); return result; } catch (e) { return null; } } @override Future updateContractRecordStateAsync( String? code, ContractStateEnum? contractState, String? reason) async { try { var request = UpdateContractRecordStateRequest( code: code, contractState: contractState, reason: reason, token: Store.user.token, ); final result = await rpc.vitalContractRecord.updateContractRecordStateAsync(request); return result; } catch (e) {} return false; } @override Future removeContractRecordAsync(String code) async { try { var request = RemoveContractRecordRequest( code: code, token: Store.user.token, ); final result = await rpc.vitalContractRecord.removeContractRecordAsync(request); return result; } catch (e) {} return false; } @override Future renewalContractRecordAsync(String code) async { try { var request = RenewalContractRecordRequest( token: Store.user.token, code: code, serviceStartDate: DateTime.now(), serviceEndDate: DateTime.now().add(const Duration(days: 365)), ); final result = await rpc.vitalContractRecord.renewalContractRecordAsync(request); return result; } catch (e) {} return ""; } }