Example #1
0
        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));
            }
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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));
            }
        }