示例#1
0
        /// <summary>
        /// 创建给定用户的 UserDataProvider 对象。
        /// </summary>
        /// <param name="handle">用户句柄对象。</param>
        /// <param name="isReadOnly">一个值,该值指示创建的 UserDataProvider 对象是否应仅具有读权限。</param>
        /// <returns>绑定到给定用户的 UserDataProvider 对象。</returns>
        /// <exception cref="ArgumentNullException"/>
        /// <exception cref="UserNotFoundException"/>
        public static UserDataProvider Create(UserHandle handle, bool isReadOnly)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            // 在用户数据库中查询对应的用户实体对象。
            UserDataContext   context = new UserDataContextFactory().CreateContext();
            UserProfileEntity entity  = context.QueryUserProfileEntity(handle.Username);

            if (entity == null)
            {
                context.Dispose();
                throw new UserNotFoundException(handle);
            }

            return(new UserDataProvider(context, entity, isReadOnly));
        }
示例#2
0
        /// <summary>
        /// 使用给定的队伍句柄和一个指示当前对象是否为只读对象的值创建一个新的 TeamDataProvider。
        /// </summary>
        /// <param name="handle">队伍句柄。</param>
        /// <param name="isReadonly">一个值,该值指示当前对象是否为只读。</param>
        /// <returns>绑定到给定队伍句柄的 TeamDataProvider 对象。</returns>
        /// <exception cref="ArgumentNullException"/>
        /// <exception cref="TeamNotFoundException"/>
        public static TeamDataProvider Create(TeamHandle handle, bool isReadonly)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            // 从数据库中查询队伍数据。
            UserDataContext   context = new UserDataContextFactory().CreateContext();
            TeamProfileEntity entity  = context.QueryTeamProfileEntity(handle.TeamId);

            if (entity == null)
            {
                context.Dispose();
                throw new TeamNotFoundException(handle);
            }

            return(new TeamDataProvider(context, entity, isReadonly));
        }
示例#3
0
 /// <summary>
 /// 初始化 UserManager 类的新实例。
 /// </summary>
 private UserManager()
 {
     m_factory = new UserDataContextFactory();
 }