getOrganizationHierarchyList method

Future<void> getOrganizationHierarchyList()

Implementation

Future<void> getOrganizationHierarchyList() async {
  try {
    final params = {'idUser': storageUtils.getUserId() ?? ''};
    final response = await _apiService
        .getData(AppUrls.getOrganizationHierarchy, queryParams: params);

    if (response.statusCode == 200) {
      organizationHierarchyList.value =
          OrganizationHierarchyResponse.fromJson(response.data).data ?? [];

      departmentList
          .assignAll(organizationHierarchyList.map((d) => DropDownResponse(
                text: d.nameAclPositionMapping,
                value: d.idAclPositionMapping,
              )));

      String? aclPositionMapping = await storageUtils.getAclPositionMapping();
      if (aclPositionMapping != null && aclPositionMapping != '0') {
        selectedAclPositionMappingId.value = departmentList.firstWhereOrNull(
            (d) => d.value.toString() == aclPositionMapping);
      } else if (organizationHierarchyList.isNotEmpty) {
        selectedAclPositionMappingId.value = DropDownResponse(
          value: organizationHierarchyList.first.idAclPositionMapping,
        );
      }
    }
  } catch (e) {
    print('Failed to fetch organization hierarchy: $e');
  }
}