Пример #1
0
 public string FormatGroupStats(int possition,
     RaceStatsGroups stats,
     string line)
 {
     string formatGroupStats = MinimumLength(line) || stats == null || race == null
                                   ? line
                                   : String.Format(new MyFormat(), line
                                                   , possition // {0}
                                                   , race.CurrentRaceData == null ? "" : race.CurrentRaceData.DirectoryName ?? "" // {1}
                                                   , "UserName" // {2}
                                                   , stats.GroupName // {3}
                                                   , race.CurrentRaceData == null ? "" : race.CurrentRaceData.UploadVirtualPath ?? "" // {4}
                                                   , stats.Speed // {5}
                                                   , stats.FilesUplaoded // {6}
                                                   , stats.BytesUplaoded.FormatSize() // {7}
                                                   , Constants.CodeIrcColor // {8}
                                                   , Constants.CodeIrcBold // {9}
                                                   , Constants.CodeIrcUnderline // {10}
                                                   , Constants.CodeNewLine); // {11}
     Log.Debug("FormatGroupStats: " + formatGroupStats);
     return formatGroupStats;
 }
Пример #2
0
 public List<RaceStatsGroups> GetGroupStats()
 {
     List<RaceStatsGroups> stats = new List<RaceStatsGroups>();
     var query = from s in raceStats
                 group s by s.GroupName;
     foreach (var result in query)
     {
         UInt64 totalBytesUplaoded = 0ul;
         int speed = 0;
         int totalFileUploaded = 0;
         foreach (RaceStats raceStat in result)
         {
             if (!raceStat.FileUploaded)
             {
                 continue;
             }
             totalBytesUplaoded += raceStat.FileSize;
             speed += raceStat.FileSpeed;
             totalFileUploaded++;
         }
         if (totalFileUploaded > 0)
         {
             RaceStatsGroups raceStatsGroups = new RaceStatsGroups
                                               {
                                                   GroupName = result.Key,
                                                   BytesUplaoded = totalBytesUplaoded,
                                                   Speed = speed / totalFileUploaded,
                                                   FilesUplaoded = totalFileUploaded,
                                               };
             stats.Add(raceStatsGroups);
         }
     }
     //stats.Sort((stats1, stats2) => Comparer<UInt64>.Default.Compare(stats1.BytesUplaoded, stats2.BytesUplaoded));
     stats.Sort();
     stats.Reverse();
     return stats;
 }