示例#1
0
        public Task <TUser> FindByNameAsync(string userName)
        {
            var userByName = this.session.Load <IdentityUserByUserName>(Util.GetIdentityUserByUserNameId(userName));

            if (userByName == null)
            {
                return(Task.FromResult(default(TUser)));
            }

            return(FindByIdAsync(userByName.UserId));
        }
        public async Task <TUser> FindByNameAsync(string userName)
        {
            var userByName = await session.LoadAsync <IdentityUserByUserName>(Util.GetIdentityUserByUserNameId(userName));

            if (userByName == null)
            {
                return(null);
            }

            return(await FindByIdAsync(userByName.UserId));
        }
        public async Task DeleteAsync(TUser user)
        {
            ThrowIfDisposed();
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            var userByName = await session.LoadAsync <IdentityUserByUserName>(Util.GetIdentityUserByUserNameId(user.UserName));

            if (userByName != null)
            {
                session.Delete(userByName);
            }

            this.session.Delete(user);
        }
示例#4
0
        public Task DeleteAsync(TUser user)
        {
            this.ThrowIfDisposed();
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            var userByName = this.session.Load <IdentityUserByUserName>(Util.GetIdentityUserByUserNameId(user.UserName));

            if (userByName != null)
            {
                this.session.Delete(userByName);
            }

            this.session.Delete(user);
            return(Task.FromResult(true));
        }
        public async Task CreateAsync(TUser user)
        {
            ThrowIfDisposed();
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
            if (string.IsNullOrEmpty(user.Id))
            {
                throw new InvalidOperationException("user.Id property must be specified before calling CreateAsync");
            }

            await session.StoreAsync(user);

            // This model allows us to lookup a user by name in order to get the id
            var userByName = new IdentityUserByUserName(user.Id, user.UserName);
            await session.StoreAsync(userByName, Util.GetIdentityUserByUserNameId(user.UserName));
        }