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); }
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"), })); }