setCurrentUserStoreDto method
Future<void>
setCurrentUserStoreDto(
- SchemaMetaData smd,
- DbTransaction transaction,
- UserStoreDto userStoreDto
Implementation
Future<void> setCurrentUserStoreDto(SchemaMetaData smd,
DbTransaction transaction, UserStoreDto userStoreDto) async {
_currentUserStoreDto = null;
int? cuId;
UserStoreDao userStoreDao = UserStoreDao(smd, transaction);
await userStoreDao.init(initTable: true);
try {
UserStoreDto existingUserStoreDto =
await userStoreDao.getUserStoreDtoByUnique(userStoreDto.email!);
cuId = existingUserStoreDto.id;
} on SqlException catch (e) {
if (e.sqlExceptionEnum != SqlExceptionEnum.ENTRY_NOT_FOUND) rethrow;
}
if (cuId == null || cuId == userStoreDto.id) {
await userStoreDao.setUserStoreDto(userStoreDto);
} else {
// User Id has been updated so remove old entry and rewrite
await userStoreDao.deleteUserStoreById(cuId);
await userStoreDao.setUserStoreDto(userStoreDto);
}
}