public virtual int CreateExternalLoginByDynamicModule( int dynamicModuleId, ExternalLoginProviderEntity externalLoginProviderEntity, int fileId ) { externalLoginProviderEntity.DynamicModule = m_dynamicModuleRepository.Load <DynamicModuleEntity>(dynamicModuleId); externalLoginProviderEntity.Logo = m_fileResourceRepository.Load <FileResourceEntity>(fileId); return((int)m_externalLoginProviderRepository.Create(externalLoginProviderEntity)); }
public DataResult <int> CreateExternalLogin(int userId, ExternalLoginProviderEntity externalLoginProvider, string providerKey) { var externalLogin = new ExternalLoginEntity { Provider = externalLoginProvider, ProviderKey = providerKey }; try { var result = m_userUoW.CreateExternalLogin(userId, externalLogin); return(Success(result)); } catch (DatabaseException e) { m_logger.LogWarning(e); return(Error <int>(e.Message)); } }
public UserEntity GetUserByExternalProvider(string loginProvider, string providerKey) { try { var session = GetSession(); ExternalLoginProviderEntity provider = null; var result = session.QueryOver <UserEntity>() .JoinQueryOver <ExternalLoginEntity>(x => x.ExternalLogins) .JoinAlias(x => x.Provider, () => provider) .Where(x => provider.Name == loginProvider && x.ProviderKey == providerKey) .FutureValue <UserEntity>(); FetchCollections(session); return(result.Value); } catch (HibernateException ex) { throw new DatabaseException("Find user by external provider operation failed", ex); } }
public DataResult <int> CreateExternalLoginByDynamicModule(DynamicModuleModel dynamicModule, Type dynamicModuleType) { var mainLogo = dynamicModule.DynamicModuleBlobs.FirstOrDefault( x => x.Type == DynamicModuleBlobEnumModel.MainLogo ); if (mainLogo == null) { var message = $"Unable to create {nameof(ExternalLoginProviderEntity)} without {nameof(DynamicModuleBlobEnumModel.MainLogo)}"; m_logger.LogWarning(message); return(Error <int>(message)); } var externalLoginProviderEntity = new ExternalLoginProviderEntity { Name = dynamicModule.Name, DisplayName = dynamicModule.Configuration(dynamicModuleType).DisplayName ?? dynamicModule.Name, }; try { return(Success( m_externalLoginProviderUoW.CreateExternalLoginByDynamicModule( dynamicModule.Id, externalLoginProviderEntity, mainLogo.File.Id ) )); } catch (DatabaseException e) { m_logger.LogWarning(e); return(Error <int>(e.Message)); } }