public async Task <IEnumerable <Models.Game> > ListGamesAsync() { using (var adminService = new AdminServiceClient(new BasicHttpBinding(), new EndpointAddress(ConnectionData.Url))) { int sequenceNumber = SequenceNumber; var listGamesReq = new ListGamesReq { Auth = new ReqAuth { ClientName = ConnectionData.Username, TeamName = ConnectionData.TeamName, SessionId = _sessionId, SequenceNumber = sequenceNumber, AuthCode = GetAuthCode(string.Format("{0}:{1}:{2}:{3}{4}", ConnectionData.TeamName, ConnectionData.Username, _sessionId, sequenceNumber, ConnectionData.Password)), }, }; _stopwatch.Start(); var listGamesResp = await adminService.ListGamesAsync(listGamesReq); _stopwatch.Stop(); LastCallTime = _stopwatch.ElapsedMilliseconds; _stopwatch.Reset(); if (listGamesResp.Status != "OK") { throw new Exception(listGamesResp.Message); } var games = listGamesResp.Games.Select(p => new Models.Game { GameId = p.GameId, Label = p.Label, State = p.State, }); return(games); } }
private void ListGamesImpl(ListGamesReq req, ListGamesResp resp) { resp.Games = Server.GameManager .ListGames(Server.TeamRegistry.GetTeam(req.Auth.TeamName)) .Select(g => new EnGameInfo(g)).ToList(); }
public ListGamesResp ListGames(ListGamesReq req) { return(HandleServiceCall(req, new ListGamesResp(), ListGamesImpl)); }