generateHierarchy method

Future<List<AhpHierarchy>> generateHierarchy({
  1. required List<AhpItem> listCriteria,
  2. required List<AhpItem> listAlternative,
})

GENERATE HIERARCHY

Implementation

Future<List<AhpHierarchy>> generateHierarchy({
  required List<AhpItem> listCriteria,
  required List<AhpItem> listAlternative,
}) async {
  try {
    if (listCriteria.isEmpty) {
      throw Exception("Criteria can't be empty!");
    }

    if (listAlternative.isEmpty) {
      throw Exception("Alternative can't be empty!");
    }

    final identificationUsecase = AhpIdentificationUsecase(
      _ahpRepository,
    );
    final hierarchyUsecase = AhpGenerateHierarchyUsecase(
      _ahpRepository,
    );

    final identification =
        await identificationUsecase.execute(listCriteria, listAlternative);

    final hierarchy = await hierarchyUsecase.execute(
        criteria: identification.criteria,
        alternative: identification.alternative);

    _currentAhpIdentification = identification;

    return hierarchy;
  } catch (e) {
    rethrow;
  }
}