public string FormatUserStats(int possition, RaceStatsUsers stats, string line) { string formatUserStats = MinimumLength(line) || stats == null || race == null ? line : String.Format(new MyFormat(), line , possition // {0} , race.CurrentRaceData == null ? "" : race.CurrentRaceData.DirectoryName ?? "" // {1} , stats.UserName // {2} , stats.GroupName // {3} , race.CurrentRaceData == null ? "" : race.CurrentRaceData.UploadVirtualPath ?? "" // {4} , race.TotalFilesExpected // {5} , stats.Speed // {6} , stats.FilesUplaoded // {7} , stats.BytesUplaoded.FormatSize() // {8} , Constants.CodeIrcColor // {9} , Constants.CodeIrcBold // {10} , Constants.CodeIrcUnderline // {11} , Constants.CodeNewLine); // {12} Log.Debug("FormatUserStats: " + formatUserStats); return formatUserStats; }
public void LogRace(RaceStatsUsers usersRaceStats) { if (Config.LogToIoFtpdRace) { Log.IoFtpd(FormatUserStats(1, usersRaceStats, Config.LogLineIoFtpdRace)); } if (Config.LogToInternalRace) { Log.Internal(FormatUserStats(1, usersRaceStats, Config.LogLineInternalRace)); } }
public List<RaceStatsUsers> GetUserStats() { List<RaceStatsUsers> stats = new List<RaceStatsUsers>(); var query = from s in raceStats group s by s.UserName; foreach (var result in query) { UInt64 totalBytesUplaoded = 0ul; int speed = 0; string groupName = ""; int totalFileUploaded = 0; foreach (RaceStats raceStat in result) { if (!raceStat.FileUploaded) { continue; } totalBytesUplaoded += raceStat.FileSize; speed += raceStat.FileSpeed; groupName = raceStat.GroupName; totalFileUploaded++; } if (totalFileUploaded > 0) { RaceStatsUsers raceStatsUsers = new RaceStatsUsers { UserName = result.Key, GroupName = groupName, BytesUplaoded = totalBytesUplaoded, Speed = speed / totalFileUploaded, FilesUplaoded = totalFileUploaded, }; stats.Add(raceStatsUsers); } } //stats.Sort ((stats1, stats2) => Comparer<UInt64>.Default.Compare (stats1.BytesUplaoded, stats2.BytesUplaoded)); //UserStatsSortOrder<RaceStatsUsers> order = new UserStatsSortOrder<RaceStatsUsers>(); stats.Sort(); stats.Reverse(); return stats; }