readOrgData method
Implementation
Future<Organization> readOrgData(Organization org) async {
emit(state.startLoading(readOrgDataLoading));
try {
final orgData = await provider.getOrgData(org.orgId);
final refreshedOrg = org.copyWithOrgData(orgData);
emit(
state.copyWith(
selectedOrgData: orgData,
organizations: state.organizations
.map(
(o) => o.orgId == org.orgId ? refreshedOrg : o,
)
.toList(),
),
);
return refreshedOrg;
} on OrgDoesNotExistError catch (e) {
_logger.severe('Error reading org data: $e');
emit(
state
.addMessage(Message.error(
_localizations.orgNotFoundError(org.name),
))
.copyWith(resetSelectedOrgData: true),
);
} on OrgDataReadError catch (_) {
emit(
state
.addMessage(Message.error(
_localizations.readOrgDataError,
))
.copyWith(selectedOrgData: null),
);
} catch (e) {
_logger.severe('Error reading org data: $e');
emit(
state
.addMessage(Message.error(
_localizations.unknownError,
))
.copyWith(selectedOrgData: null),
);
} finally {
emit(state.endLoading(readOrgDataLoading));
}
return org;
}