コード例 #1
0
        /// <summary>
        /// 从用户句柄创建 UserProfileModel 模型对象。
        /// </summary>
        /// <param name="handle">用户句柄。</param>
        /// <returns>UserProfileModel 模型对象。</returns>
        /// <exception cref="ArgumentNullException"/>
        public static UserProfileModel FromUserHandle(UserHandle handle)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            UserProfileModel model = new UserProfileModel()
            {
                Username = handle.Username
            };

            using (UserDataProvider userData = UserDataProvider.Create(handle, true))
            {
                model.Organization = userData.Organization;
                model.UserGroup    = userData.UserGroup;
                model.Sex          = userData.Sex;

                // 加载用户队伍信息。
                foreach (TeamHandle team in userData.GetTeams())
                {
                    model.Teams.Add(TeamBriefModel.FromTeamHandle(team));
                }

                // TODO: 完成用户提交统计模块后,在这里添加代码将用户提交统计信息复制入模型中。
            }

            return(model);
        }
コード例 #2
0
        /// <summary>
        /// 从给定的队伍句柄加载队伍数据到当前数据模型中。
        /// </summary>
        /// <param name="data">队伍句柄。</param>
        /// <exception cref="ArgumentNullException"/>
        public static TeamBriefModel FromTeamHandle(TeamHandle handle)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            TeamBriefModel model = new TeamBriefModel();

            using (TeamDataProvider data = TeamDataProvider.Create(handle, true))
            {
                model.TeamId       = data.TeamId;
                model.Name         = data.Name;
                model.MembersCount = data.GetMembers().Length;
            }

            return(model);
        }