import 'package:fis_jsonrpc/rpc.dart';

import 'base.dart';

abstract class IContractManager implements IManager {
  ///创建签约记录
  Future<String?> createContractRecordAsync(
      CreateContractRecordRequest request);

  ///根据居民code获取签约记录
  Future<PageCollection<ContractRecordDTO>?>
      getContractRecordPageByPatientCodeAsync(String patientCode);

  ///获取分页签约记录
  Future<PageCollection<ContractRecordDTO>?> getContractRecordPageAsync();

  ///获取合同详情
  Future<ContractRecordDTO?> getContractRecordDetailAsync(String patientCode);

  ///变更签约状态
  Future<bool> updateContractRecordStateAsync(
      String? code, ContractStateEnum? contractState, String? reason);

  ///删除签约记录
  Future<bool> removeContractRecordAsync(String code);

  ///续约
  Future<String> renewalContractRecordAsync(String code);
}
