Example #1
0
        public static string GetTopAsString(Config.MessageBuilder messageBuilder, int howMany = 20)
        {
            var message = "Лучшие игроки по очкам: " + Environment.NewLine;
            var index   = 0;

            foreach (var user in GetTop("total_points", howMany))
            {
                message += String.Format("{0}. {1} - {2}" + Environment.NewLine, ++index, messageBuilder.FormatName(user.FirstName, user.LastName, user.Username), user.TotalPoints);
            }

            message += Environment.NewLine + "Лучшие игроки по рейтингу: " + Environment.NewLine;
            index    = 0;
            foreach (var user in GetTop("rate", howMany))
            {
                message += String.Format("{0}. {1} - {2}" + Environment.NewLine, ++index, messageBuilder.FormatName(user.FirstName, user.LastName, user.Username), user.Rate.ToString("0.00"));
            }
            return(message);
        }
Example #2
0
        public static string GetStatAsString(Config.MessageBuilder messageBuilder, UserWrapper user)
        {
            var dbUser           = User.FindById(user.Id);
            var winsPercent      = dbUser.GamesPlayed > 0 ? 100.0 * dbUser.Wins / dbUser.GamesPlayed : 0.0;
            var survivalsPercent = dbUser.GamesPlayed > 0 ? 100.0 * dbUser.Survivals / dbUser.GamesPlayed : 0.0;
            var pointsAverage    = dbUser.GamesPlayed > 0 ? 1.0 * dbUser.TotalPoints / dbUser.GamesPlayed : 0.0;

            return(messageBuilder.GetTextSimple("UserStatTemplate", new Dictionary <string, object> {
                ["name"] = user.Username,
                ["gamesPlayed"] = dbUser.GamesPlayed,
                ["survivabilityTotal"] = dbUser.Survivals,
                ["survivabilityPercent"] = survivalsPercent.ToString("0.00"),
                ["wins"] = dbUser.Wins,
                ["winsPercent"] = winsPercent.ToString("0.00"),
                ["winStreak"] = dbUser.WinStreak,
                ["loseStreak"] = dbUser.LoseStreak,
                ["totalPoints"] = dbUser.TotalPoints,
                ["averagePoints"] = pointsAverage.ToString("0.00"),
                ["rate"] = dbUser.Rate.ToString("0.00"),
            }));
        }