Beispiel #1
0
        public DataResult <int> CreateExternalLogin(
            int userId, string loginProvider, string providerKey
            )
        {
            var externalLoginProviderEntity = m_externalLoginProviderUoW.GetExternalLoginProviderByName(
                loginProvider
                );

            if (externalLoginProviderEntity.DisableManagingByUser)
            {
                const string errorMessage = "Edit this link is not permitted";
                m_logger.LogWarning(errorMessage);
                return(Error <int>(errorMessage));
            }

            var externalLogin = new ExternalLoginEntity
            {
                Provider    = externalLoginProviderEntity,
                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));
            }
        }
Beispiel #2
0
 public static UserLoginInfo ExternalLoginE2M(ExternalLoginEntity externalLoginEntity)
 {
     if (externalLoginEntity == null)
     {
         throw new ArgumentNullException(nameof(externalLoginEntity));
     }
     return(new UserLoginInfo(externalLoginEntity.LoginProvider, externalLoginEntity.ProviderKey, externalLoginEntity.ProviderDisplayName));
 }
        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));
            }
        }
Beispiel #4
0
        public virtual int CreateExternalLogin(
            int userId,
            ExternalLoginEntity externalLogin,
            IEnumerable <string> rolesToAdd
            )
        {
            var userEntity = m_userRepository.Load <UserEntity>(userId);

            externalLogin.User = userEntity;

            var result = (int)m_userRepository.Create(externalLogin);

            foreach (var roleToAdd in rolesToAdd)
            {
                AddRoleToUserInternal(externalLogin.User.Id, roleToAdd);
            }

            return(result);
        }
    public async Task AddLoginAsync(FantasyCriticUser user, UserLoginInfo login, CancellationToken cancellationToken)
    {
        cancellationToken.ThrowIfCancellationRequested();

        ExternalLoginEntity entity = new ExternalLoginEntity()
        {
            UserID              = user.Id,
            LoginProvider       = login.LoginProvider,
            ProviderKey         = login.ProviderKey,
            ProviderDisplayName = login.ProviderDisplayName,
        };

        await using (var connection = new MySqlConnection(_connectionString))
        {
            await connection.OpenAsync(cancellationToken);

            string insertSQL = "insert into tbl_user_externallogin (LoginProvider,ProviderKey,UserID,ProviderDisplayName) " +
                               "VALUES (@LoginProvider,@ProviderKey,@UserID,@ProviderDisplayName);";
            await connection.ExecuteAsync(insertSQL, entity);
        }

        _userCache = null;
    }
Beispiel #6
0
 public int CreateExternalLogin(int userId, ExternalLoginEntity externalLogin)
 {
     return(CreateExternalLogin(userId, externalLogin, new List <string>()));
 }