/// <summary> /// 获取队伍中的成员。 /// </summary> /// <returns>一个数组,其中包含队伍中的成员用户句柄。</returns> public UserHandle[] GetMembers() { using (TeamDataProvider teamData = TeamDataProvider.Create(this, true)) { return(teamData.GetMembers()); } }
public void AddTeam(Team team) { if (UserHelper.HasUpdatePermissions(team.ID)) { TeamDataProvider.GetInstance().AddTeam(ConvertObjects.ConvertType(team)); } }
public void AddLeagueTeam(int teamID, int leagueID) { if (UserHelper.HasUpdatePermissions(teamID)) { TeamDataProvider.GetInstance().AddLeagueTeam(leagueID, teamID); } }
public SelectMatchViewModel(IContext context) { _context = context; _provider = new TeamDataProvider(); Teams = new VirtualList <VirtualListItem>(_provider, 20); Gender = true; IsMatchSearch = false; IsMatchFound = false; // List<MatchData> lst = new List<MatchData>(); // // lst.Add(new MatchData() {FirstTeamNameRus = "11", FirstTeamNameEng = "11" }); // lst.Add(new MatchData() {FirstTeamNameRus = "22", FirstTeamNameEng = "22" }); // lst.Add(new MatchData() {FirstTeamNameRus = "33", FirstTeamNameEng = "33" }); // lst.Add(new MatchData() {FirstTeamNameRus = "44", FirstTeamNameEng = "44" }); // lst.Add(new MatchData() {FirstTeamNameRus = "55", FirstTeamNameEng = "55" }); // // lst.Add(new MatchData() {FirstTeamNameRus = "3333"}); // // lst.Add(new MatchData() {FirstTeamNameRus = "4444"}); // // lst.Add(new MatchData() {FirstTeamNameRus = "5555"}); // // lst.Add(new MatchData() {FirstTeamNameRus = "6666"}); // // // foreach (var item in lst) // { // FoundMatches.Add(item); // } }
public void ShouldReturnParsedData() { var fileReaderStub = new Mock <IFileReader>(); var subject = new TeamDataProvider(fileReaderStub.Object, new FileParserStub()); var result = subject.GetTeamData(); Assert.NotEmpty(result); }
public ActionResult AddTeamUser() { // AJAX 查询响应 if (!UserSession.IsAuthorized(Session)) { return(new ContentResult()); } if (string.IsNullOrEmpty(Request.QueryString["teamId"]) || string.IsNullOrEmpty(Request.QueryString["username"])) { return(new ContentResult()); } int teamId; if (!int.TryParse(Request.QueryString["teamId"], out teamId)) { return(new ContentResult()); } TeamHandle teamHandle = UserManager.Default.QueryTeamById(teamId); if (teamHandle == null) { // 给定的队伍不存在于数据库中。 return(new ContentResult()); } UserHandle userHandle = UserManager.Default.QueryUserByName(Request.QueryString["username"]); if (userHandle == null) { // 给定的用户不存在于数据库中。 return(new ContentResult()); } // 查询队伍信息。 using (TeamDataProvider data = TeamDataProvider.Create(teamHandle, true)) { // 检查操作权限。 if (string.Compare(data.Leader, UserSession.GetUsername(Session), false) != 0) { return(new ContentResult()); } } UserManager.Default.AddUserToTeam(teamHandle, userHandle); return(new ContentResult()); }
public ActionResult ContestRegisterIdentity() { string contestIdString = Request.QueryString["id"]; if (string.IsNullOrEmpty(contestIdString)) { return(QueryResult(1, "Contest ID is required.")); } int contestId; if (!int.TryParse(contestIdString, out contestId)) { return(QueryResult(2, "Invalid contest ID.")); } ContestHandle contest = new ContestHandle(contestId); UserHandle user = UserSession.GetUserHandle(Session); if (user == null) { // 当前会话中不存在任何活动的登录用户。 return(QueryResult(3, "User session not exist.")); } ContestAuthorizationState authState = ContestAuthorization.GetUserAuthorizationState(contest, user); if (authState.RegisterState == ContestRegisterState.NotRegistered || authState.RegisterState == ContestRegisterState.PasswordRequired) { return(QueryResult(string.Empty)); } else { if (authState.RegisterState == ContestRegisterState.IndividualRegistered) { return(QueryResult(user.Username)); } else { TeamHandle registeredTeam = new TeamHandle(authState.TeamId); using (TeamDataProvider teamData = TeamDataProvider.Create(registeredTeam, true)) { return(QueryResult(teamData.Name)); } } } }
public List <Team> GetTeams(List <int> validTeams = null, int?leagueID = null, int?playerID = null, int?sportID = null, bool showAll = false, DataCache dataCache = null) { var teams = TeamDataProvider.GetInstance().GetTeams(leagueID: leagueID, playerID: playerID, sportID: sportID, dataCache: dataCache); return(teams .Where(t => UserHelper.HasGetPermissions(teamID: t.ID) || showAll || (validTeams?.Contains(t.ID) ?? false)) .Select(t => new Team() { ID = t.ID, Name = t.Name, LeagueID = t.LeagueID, SportID = t.SportID, PlayerNumber = t.PlayerNumber }) .ToList()); }
/// <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); }
public ActionResult CreateTeam(FormCollection form) { // AJAX 查询,以 JSON 返回结果。 // 验证表单参数。 if (string.IsNullOrEmpty(form["teamName"]) || string.IsNullOrEmpty(form["leader"])) { return(new ContentResult()); } // 创建新的队伍。 TeamHandle handle = UserManager.Default.CreateTeam(); using (TeamDataProvider data = TeamDataProvider.Create(handle, false)) { data.Name = form["teamName"]; data.Leader = form["leader"]; UserManager.Default.AddUserToTeam(handle, new UserHandle(form["leader"])); } return(new ContentResult()); }
public ActionResult DeleteTeam() { if (!UserSession.IsAuthorized(Session)) { return(new ContentResult()); } if (string.IsNullOrEmpty(Request.QueryString["teamId"])) { return(new ContentResult()); } int teamId; if (!int.TryParse(Request.QueryString["teamId"], out teamId)) { return(new ContentResult()); } TeamHandle teamHandle = UserManager.Default.QueryTeamById(teamId); if (teamHandle == null) { return(new ContentResult()); } using (TeamDataProvider data = TeamDataProvider.Create(teamHandle, true)) { // 检查操作权限。 if (string.Compare(data.Leader, UserSession.GetUsername(Session), false) != 0) { return(new ContentResult()); } } UserManager.Default.RemoveTeam(teamHandle); return(new ContentResult()); }
public Team GetTeam(int teamID, int leagueID, DataCache dataCache = null) { var team = TeamDataProvider.GetInstance().GetTeams(teamID: teamID, leagueID: leagueID, dataCache: dataCache).First(); var players = PlayerDataProvider.GetInstance().GetPlayers(teamID: teamID, leagueID: leagueID, dataCache: dataCache); var games = GamesService.GetInstance().GetGames(teamID: teamID, leagueID: leagueID, dataCache: dataCache); var selectedTeam = new Team() { ID = team.ID, Name = team.Name, Players = players.Select(p => new Player() { ID = p.ID, Name = p.Name, Number = p.Number }).ToList(), Games = games, LeagueID = team.LeagueID, SportID = team.SportID }; return(selectedTeam); }
/// <summary> /// 从给定的队伍句柄创建队伍详细信息数据模型。 /// </summary> /// <param name="handle">队伍句柄。</param> /// <returns>队伍详细信息数据模型。</returns> /// <exception cref="ArgumentNullException"/> public static TeamDetailModel FromTeamHandle(TeamHandle handle) { if (handle == null) { throw new ArgumentNullException(nameof(handle)); } TeamDetailModel model = new TeamDetailModel(); using (TeamDataProvider data = TeamDataProvider.Create(handle, true)) { model.TeamId = data.TeamId; model.TeamName = data.Name; model.Leader = data.Leader; foreach (UserHandle user in data.GetMembers()) { model.Members.Add(UserProfileModel.FromUserHandle(user)); } } return(model); }
public CreateMatchViewModel() { _provider = new TeamDataProvider(); HomeTeams = new VirtualList <VirtualListItem>(_provider, 20); AwayTeams = new VirtualList <VirtualListItem>(_provider, 20); }