public override int Run(string[] remainingArguments) { var web = ExtremeSharePoint.Web; if (web == null) { Log.Warn("SPWeb in ExtremeSharpoint is not set"); return(0); } var teams = ListsQuery.GetTeams(web); teams.Sort((a, b) => { int sa; if (!int.TryParse("" + a["Score"], out sa)) { return(0); } int sb; if (!int.TryParse("" + b["Score"], out sb)) { return(0); } return(sb - sa); }); teams.ForEach(team => { var players = team["Players"] as SPFieldUserValueCollection; var ps = players != null ? string.Join(", ", players.Select(u => u.User.Name).ToArray()) : ""; Console.WriteLine("{0} - {1} - {2} - {3}", team.Title, team["Score"], ps, team["Author"]); }); return(0); }
public void Ping() { Log.Debug("Game pinged"); var question = Question.GetRandomQuestion(Level); if (question == null) { Log.Debug("No question found"); return; } Log.Debug("Quering clients..."); ListsQuery.GetTeams(_web).ForEach(team => Client.Request(team, question, (sender, args) => { var teamId = team.ID; using (var site = new SPSite(_web.Url)) { using (var web = site.OpenWeb(_web.ServerRelativeUrl)) { try { OnClientResponse(web, teamId, question, args); } catch (Exception e) { Log.Error("Client.Request crash!"); Log.Error(e); } } } })); }