public virtual ExternalLoginProviderEntity GetExternalLoginProvidersByDynamicModule(int dynamicModuleId) { var externalLoginProvider = m_externalLoginProviderRepository.GetExternalLoginProviderByDynamicModuleId(dynamicModuleId); if (externalLoginProvider == null) { throw new NoResultException <ExternalLoginProviderEntity>(); } return(externalLoginProvider); }
public virtual void DeleteDynamicModuleWithId(int id) { try { var dynamicModule = m_dynamicModuleRepository.Load <DynamicModuleEntity>(id); try { var externalLoginProvider = m_externalLoginProviderRepository.GetExternalLoginProviderByDynamicModuleId( dynamicModule.Id ); if (externalLoginProvider != null) { var isUsedByUsers = m_externalLoginRepository.GetExternalLoginCountByProvider(externalLoginProvider.Id); if (isUsedByUsers > 0) { throw new NotSupportedException( $"Unable to delete dynamic module '{id}', it is used by {isUsedByUsers} user(s)"); } m_dynamicModuleRepository.Delete(externalLoginProvider); } } catch (NoResultException <ExternalLoginProviderEntity> ) { // it can be standalone dynamic module == without linked external login provider } m_dynamicModuleRepository.Delete(dynamicModule); } catch (ObjectNotFoundException) { throw new NoResultException <DynamicModuleEntity>(); } }