/// <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); }
/// <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); }