Exemplo n.º 1
0
        /// <summary>
        /// Returns an TUser given the user's id.
        /// </summary>
        /// <param name="userId">The user's id.</param>
        /// <returns></returns>
        public TUser GetUserById(string userId, ConverIdFromStringDelegate <TKey> stringToId)
        {
            TUser  user        = null;
            string commandText = "SELECT * FROM " + _tableName + " WHERE Id = @id";
            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { "@id", userId }
            };

            var rows = _database.Query(commandText, parameters);

            if (rows != null && rows.Count == 1)
            {
                var row = rows[0];
                user                = (TUser)Activator.CreateInstance(typeof(TUser));
                user.Id             = stringToId(row["id"]);
                user.UserName       = row["username"];
                user.PasswordHash   = string.IsNullOrEmpty(row["passwordhash"]) ? null : row["passwordhash"];
                user.SecurityStamp  = string.IsNullOrEmpty(row["securitystamp"]) ? null : row["securitystamp"];
                user.Email          = string.IsNullOrEmpty(row["email"]) ? null : row["email"];
                user.EmailConfirmed = row["emailconfirmed"] == "True";
            }

            return(user);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns a list of user's roles.
        /// </summary>
        /// <param name="userId">The user's id.</param>
        /// <returns></returns>
        public List <string> RoleNamesForUserId(string userId)
        {
            var    roles       = new List <string>();
            string commandText = "SELECT AspNetRoles.Name FROM AspNetUsers, AspNetRoles, AspNetUserRoles ";

            commandText += "WHERE AspNetUsers.Id = AspNetUserRoles.UserId AND AspNetUserRoles.RoleId = AspNetRoles.Id";
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@userId", userId);

            var rows = _database.Query(commandText, parameters);

            foreach (var row in rows)
            {
                roles.Add(row["name"]);
            }

            return(roles);
        }
        public ClaimsIdentity FindByRoleId(string roleId)
        {
            ClaimsIdentity claims                  = new ClaimsIdentity();
            string         commandText             = "SELECT * FROM AspNetRoleClaims WHERE RoleId = @roleId";
            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { "@RoleId", roleId }
            };

            var rows = _database.Query(commandText, parameters);

            foreach (var row in rows)
            {
                Claim claim = new Claim(row["claimtype"], row["claimvalue"]);
                claims.AddClaim(claim);
            }

            return(claims);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Returns a list of user's logins.
        /// </summary>
        /// <param name="userId">The user's id.</param>
        /// <returns></returns>
        public List <UserLoginInfo> FindByUserId(string userId)
        {
            List <UserLoginInfo> logins            = new List <UserLoginInfo>();
            string commandText                     = "SELECT * FROM AspNetUserLogins WHERE UserId = @userId";
            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { "@userId", userId }
            };

            var rows = _database.Query(commandText, parameters);

            foreach (var row in rows)
            {
                var login = new UserLoginInfo(row["loginprovider"], row["providerkey"], row["displayname"]);
                logins.Add(login);
            }

            return(logins);
        }