patient.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import 'dart:convert';
  2. import 'package:fis_jsonrpc/rpc.dart';
  3. import 'package:vnoteapp/managers/interfaces/patient.dart';
  4. import 'package:vnoteapp/rpc.dart';
  5. import 'package:fis_common/logger/logger.dart';
  6. import 'package:vnoteapp/store/store.dart';
  7. class PatientManager implements IPatientManager {
  8. @override
  9. Future<String?> create(CreatePatientRequest request) async {
  10. try {
  11. request.token = Store.user.token;
  12. final result = await rpc.patient.createPatientAsync(request);
  13. return result;
  14. } catch (e) {
  15. logger.e("PatientManager create patient error.", e);
  16. return null;
  17. }
  18. }
  19. @override
  20. Future<PatientDTO?> getDetail(String code) async {
  21. try {
  22. final request = GetPatientRequest(code: code, token: Store.user.token);
  23. print(jsonEncode(request.toJson()));
  24. final result = await rpc.patient.getPatientDetailAsync(request);
  25. return result;
  26. } catch (e) {
  27. logger.e("PatientManager query patient detail error.", e);
  28. return null;
  29. }
  30. }
  31. @override
  32. Future<PageCollection<PatientDTO>?> getPagedList(
  33. PatientPageRequest request) async {
  34. try {
  35. request.token = Store.user.token;
  36. final result = await rpc.patient.getPatientPageAsync(request);
  37. return result;
  38. } catch (e) {
  39. logger.e("PatientManager query patient paged list error.", e);
  40. return null;
  41. }
  42. }
  43. @override
  44. Future<bool> updatePatientAsync(UpdatePatientRequest request) async {
  45. try {
  46. final result = await rpc.patient.updatePatientAsync(request);
  47. return result;
  48. } catch (e) {
  49. return false;
  50. }
  51. }
  52. }