protected override void Render(HtmlTextWriter writer)
        {
            using (DataAccess.CSSStatsDataContext db = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
            {
                var sortedLeaderboard = db.StatsLeaderboards.Where(p => p.DateModified > DateTime.Now.AddDays(-1 * Common.Constants.Leaderboard.MaxLastActiveDays)).OrderBy(p => p.Rank).ToList().Select((p, index) => new
                {
                    Order    = index,
                    Place    = index,
                    Callsign = p.LoginUsername
                }
                                                                                                                                                                                                         );

                writer.Write("{ total: \"1\", page: \"0\", records: \"" + sortedLeaderboard.Count() + "\", rows : [");

                bool firstRow = true;
                foreach (var row in sortedLeaderboard)
                {
                    if (firstRow == true)
                    {
                        firstRow = false;
                    }
                    else
                    {
                        writer.Write(",");
                    }

                    writer.Write("{id:\"" + row.Order + "\", cell:[\"" + row.Order + "\",\"" + row.Place + "\",\"" + row.Callsign + "\"]}");
                }

                writer.Write("]}");
            }
        }
        protected override void Render(HtmlTextWriter writer)
        {
            using (DataAccess.CSSStatsDataContext db = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
            {
                var sortedLeaderboard = db.StatsLeaderboards.Where(p => p.DateModified > DateTime.Now.AddDays(-1 * Common.Constants.Leaderboard.MaxLastActiveDays)).OrderBy(p => p.Rank).ToList().Select((p, index) => new
                {
                    Order = index,
                    Place = index,
                    Callsign = p.LoginUsername }
                    );

                writer.Write("{ total: \"1\", page: \"0\", records: \"" + sortedLeaderboard.Count() + "\", rows : [");

                bool firstRow = true;
                foreach (var row in sortedLeaderboard)
                {
                    if(firstRow == true)
                        firstRow = false;
                    else
                        writer.Write(",");

                    writer.Write("{id:\"" + row.Order + "\", cell:[\"" + row.Order + "\",\"" + row.Place + "\",\"" + row.Callsign + "\"]}");
                }

                writer.Write("]}");
            }
        }
Esempio n. 3
0
        public List <DataAccess.StatsLeaderboard> GetCurrentLeaderboard(string token)
        {
            ValidateToken(token);

            string cacheKey = "Stats::GetCurrentLeaderboard?token={token}";
            List <DataAccess.StatsLeaderboard> returnValue = (List <DataAccess.StatsLeaderboard>)HttpRuntime.Cache.Get(cacheKey);

            if (returnValue == null)
            {
                using (DataAccess.CSSStatsDataContext statsDB = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
                {
                    returnValue = DataAccess.StatsLeaderboard.GetSortedLeaderboard(statsDB);
                    HttpRuntime.Cache.Add(cacheKey, returnValue, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 0, 30), CacheItemPriority.Normal, null);
                }
            }

            return(returnValue);
        }
        private void BindData()
        {
            using (DataAccess.CSSStatsDataContext statsDB = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
            {
                //var sortedLeaderboard = statsDB.StatsLeaderboards
                //    .Where(p => p.DateModified > DateTime.Now.AddDays(Common.Constants.Leaderboard.MaxLastActiveDays))
                //    .OrderByDescending(p => p.Rank)
                //    .ToList()
                //    .Select((p, index) => new
                //    {
                //        Order = index + 1,
                //        Place = index + 1,
                //        Callsign = p.LoginUsername,
                //        Mu = p.Mu.ToString("F2"),
                //        Sigma = p.Sigma.ToString("F2"),
                //        Rank = p.Rank.ToString("F1"),
                //        Wins = p.Wins,
                //        Losses = p.Losses,
                //        Draws = p.Draws,
                //        Defects = p.Defects,
                //        StackRating = p.StackRating.ToString("F2"),
                //        CommandMu = p.CommandMu.ToString("F2"),
                //        CommandSigma = p.CommandSigma.ToString("F2"),
                //        CommandRank = p.CommandRank.ToString("F1"),
                //        CommandWins = p.CommandWins,
                //        CommandLosses = p.CommandLosses,
                //        CommandDraws = p.CommandDraws,
                //        Kills = p.Kills,
                //        Ejects = p.Ejects,
                //        DroneKills = p.DroneKills,
                //        StationKills = p.StationKills,
                //        StationCaptures = p.StationCaptures,
                //        KillsEjectsRatio = p.Kills > 0 && p.Ejects > 0 ? Math.Round((Double)p.Kills / p.Ejects, 2) : p.Kills > 0 ? 1 : 0,
                //        HoursPlayed = Math.Round(p.HoursPlayed, 2),
                //        KillsPerHour = p.HoursPlayed == 0 ? 0 : Math.Round((Double)p.Kills / p.HoursPlayed, 2)
                //    });

                gvLeaderboard.DataSource = DataAccess.StatsLeaderboard.GetSortedLeaderboard(statsDB);
                gvLeaderboard.DataBind();
            }
        }
        private void BindData()
        {
            using (DataAccess.CSSStatsDataContext statsDB = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
            {
                //var sortedLeaderboard = statsDB.StatsLeaderboards
                //    .Where(p => p.DateModified > DateTime.Now.AddDays(Common.Constants.Leaderboard.MaxLastActiveDays))
                //    .OrderByDescending(p => p.Rank)
                //    .ToList()
                //    .Select((p, index) => new
                //    {
                //        Order = index + 1,
                //        Place = index + 1,
                //        Callsign = p.LoginUsername,
                //        Mu = p.Mu.ToString("F2"),
                //        Sigma = p.Sigma.ToString("F2"),
                //        Rank = p.Rank.ToString("F1"),
                //        Wins = p.Wins,
                //        Losses = p.Losses,
                //        Draws = p.Draws,
                //        Defects = p.Defects,
                //        StackRating = p.StackRating.ToString("F2"),
                //        CommandMu = p.CommandMu.ToString("F2"),
                //        CommandSigma = p.CommandSigma.ToString("F2"),
                //        CommandRank = p.CommandRank.ToString("F1"),
                //        CommandWins = p.CommandWins,
                //        CommandLosses = p.CommandLosses,
                //        CommandDraws = p.CommandDraws,
                //        Kills = p.Kills,
                //        Ejects = p.Ejects,
                //        DroneKills = p.DroneKills,
                //        StationKills = p.StationKills,
                //        StationCaptures = p.StationCaptures,
                //        KillsEjectsRatio = p.Kills > 0 && p.Ejects > 0 ? Math.Round((Double)p.Kills / p.Ejects, 2) : p.Kills > 0 ? 1 : 0,
                //        HoursPlayed = Math.Round(p.HoursPlayed, 2),
                //        KillsPerHour = p.HoursPlayed == 0 ? 0 : Math.Round((Double)p.Kills / p.HoursPlayed, 2)
                //    });

                gvLeaderboard.DataSource = DataAccess.StatsLeaderboard.GetSortedLeaderboard(statsDB);
                gvLeaderboard.DataBind();
            }
        }
        public List<DataAccess.StatsLeaderboard> GetCurrentLeaderboard(string token)
        {
            ValidateToken(token);

            string cacheKey = "Stats::GetCurrentLeaderboard?token={token}";
            List<DataAccess.StatsLeaderboard> returnValue = (List<DataAccess.StatsLeaderboard>)HttpRuntime.Cache.Get(cacheKey);

            if (returnValue == null)
            {
                using (DataAccess.CSSStatsDataContext statsDB = new Allegiance.CommunitySecuritySystem.DataAccess.CSSStatsDataContext())
                {
                    returnValue = DataAccess.StatsLeaderboard.GetSortedLeaderboard(statsDB);
                    HttpRuntime.Cache.Add(cacheKey, returnValue, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 0, 30), CacheItemPriority.Normal, null);
                }
            }

            return returnValue;
        }