/// <summary> /// Stops the timer and adds a specified timing point type to th timings list /// </summary> /// <param name="timerType"></param> /// <returns></returns> public TimeSpan StopTimer(EnumTiming timerType) { try { CurrentTimer.Stop(); Timings.Add(new Tuple <EnumTiming, RatTimer>(timerType, CurrentTimer)); return(CurrentTimer.Duration); } catch (Exception ex) { Console.WriteLine("Unable to stop the timer"); Console.WriteLine(ex.Message); return(new TimeSpan(0)); } }
public override string ToString() { timer.Restart(); var temp = ScoreByDay; string str = "~ ------------------- ~\r\n" + "~ --- BY HOUR/DAY --- ~\r\n" + "~ ------------------- ~\r\n" + String.Join( "\r\n", ScoreByHourByDay.Select( d => new KeyValuePair <KeyValuePair <DayOfWeek, double>, SortedDictionary <int, double> >( new KeyValuePair <DayOfWeek, double>( d.Key, temp[d.Key] ), d.Value ) ).OrderByDescending(d => d.Key.Value).Take(5).Select( d => String.Format( DAY_FORMAT, d.Key.Key, d.Key.Value, String.Join( "\r\n", d.Value.OrderByDescending(h => h.Value).Take(3).Select( h => "\t" + h.Key.ToString() + " - " + h.Value.ToString("#.000") ) ) ) ) ) + "\r\n\r\n" + "~ ----------------------- ~\r\n" + "~ --- BY HOUR AND DAY --- ~\r\n" + "~ ----------------------- ~\r\n" + String.Join( "\r\n", ScoreByHourAndDay.OrderByDescending(kv => kv.Value).Take(15).Select( kv => kv.Key.Key.ToString() + "\t - \t" + kv.Key.Value.ToString() + ": \t" + kv.Value.ToString("#.000") ) ); timer.Stop(); temp = null; Timings.Add(new KeyValuePair <string, long>("ToString", timer.ElapsedMilliseconds)); return(str); }