Example #1
0
        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);
        }
Example #2
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);
                        }
                    }
                }
            }));
        }