private static void CreateHeader(StringBuilder sb, IGrouping <DateTime, RaidModel> raidDate) { var killed = raidDate.Count(i => i.Killed); var failed = raidDate.Count(i => !i.Killed); var bosses = raidDate.Select(i => i.EncounterName).Distinct().Count(); var tryTime = new TimeSpan(raidDate.Select(i => i.OccurenceEnd - i.OccurenceStart) .Sum(i => i.Ticks)); var raidTime = raidDate.Max(i => i.OccurenceEnd) - raidDate.Min(i => i.OccurenceStart); sb.Append(HtmlCreator.CreateHeaderHtml(raidDate.Key, killed, failed, tryTime, raidTime, bosses)); }
private static void CreateTimeline(StringBuilder sb, IGrouping <DateTime, RaidModel> raidDate, bool reverse) { var ordered = reverse ? raidDate.OrderByDescending(i => i.OccurenceEnd) : raidDate.OrderBy(i => i.OccurenceEnd); foreach (var model in ordered) { sb.Append(model.Killed ? HtmlCreator.CreateEncounterHtmlPass(model) : HtmlCreator.CreateEncounterHtmlFail(model)); } }