예제 #1
0
        private Counts GetCurrentCodeContractCounters()
        {
            var leaderboardEntities = new LeaderboardDataService.LeaderboardEntitySet(new Uri("http://leaderboard/odata/LeaderboardDataService.svc"));

            leaderboardEntities.Credentials = CredentialCache.DefaultCredentials;
            int users = artificialCount;
            var runs  = artificialCount;
            var fail  = artificialCount;

            try
            {
                IEnumerable <int> numUsers = leaderboardEntities.Execute <int>(new Uri("http://leaderboard/odata/LeaderboardDataService.svc/GetNumUsersByID?appId=555555"));
                users += numUsers.FirstOrDefault();

                var allUses = (from agg in leaderboardEntities.UserAggregations
                               where agg.appid == 555555
                               select agg).ToList();
                runs += allUses.Sum(agg => agg.uses);

                fail += allUses.Sum(agg => (agg.featureid < 0 || agg.featureid > 4000000) ? agg.uses : 0);
            }
            catch { }
            return(new Counts {
                numUsers = users, numFail = fail, numRuns = runs
            });
        }
예제 #2
0
        static void Main(string[] args)
        {
            var options = new Options();

            options.Parse(args);
            if (options.HasErrors)
            {
                options.PrintErrorsAndExit(Console.Out);
            }
            if (options.HelpRequested || options.GeneralArguments.Count > 0)
            {
                options.PrintOptions("");
                Environment.Exit(0);
            }



            LeaderboardDataService.LeaderboardEntitySet leaderboardEntities = new LeaderboardDataService.LeaderboardEntitySet(new Uri("http://leaderboard/odata/LeaderboardDataService.svc"));
            leaderboardEntities.Credentials = CredentialCache.DefaultCredentials;

            var allUses = (from agg in leaderboardEntities.UserAggregations
                           where agg.appid == 555555
                           select agg).ToList();

            var failures = from fail in allUses
                           where FeatureMatch(fail.featureid, options.feature)
                           select fail;

            foreach (var failure in failures)
            {
                Console.WriteLine("User {0} used feature {3} {1} times (code {2})", failure.userid, failure.uses, failure.featureid, options.feature);
                if (failure.featureid < 0)
                {
                    DecodeFailure(failure.featureid);
                }
            }
        }