@@ -23,43 +23,62 @@ public void ProcessEntry(Entry entry)
2323 {
2424 case DayOfWeek . Monday :
2525 MondayTotalWorkingHours += durationAsHours ;
26- this . MondayAverageWorkingHours = Math . Round ( durationAsHours / MondayTotalWorkingHours , 2 ) ;
27- this . MondayValueShare = Math . Round ( MondayAverageWorkingHours / TotalWorkingHours , 2 ) ;
26+ MondayEntryCount ++ ;
27+ this . MondayAverageWorkingHours = Math . Round ( MondayTotalWorkingHours / MondayEntryCount , 2 ) ;
28+
2829 break ;
2930 case DayOfWeek . Tuesday :
3031 TuesdayTotalWorkingHours += durationAsHours ;
31- this . TuesdayAverageWorkingHours = Math . Round ( durationAsHours / TuesdayTotalWorkingHours , 2 ) ;
32- this . TuesdayValueShare = Math . Round ( TuesdayAverageWorkingHours / TotalWorkingHours , 2 ) ;
32+ TuesdayEntryCount ++ ;
33+ this . TuesdayAverageWorkingHours = Math . Round ( TuesdayTotalWorkingHours / TuesdayEntryCount , 2 ) ;
34+
3335 break ;
3436 case DayOfWeek . Wednesday :
3537 WednesdayTotalWorkingHours += durationAsHours ;
36- this . WednesdayAverageWorkingHours = Math . Round ( durationAsHours / WednesdayTotalWorkingHours , 2 ) ;
37- this . WednesdayValueShare = Math . Round ( WednesdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
38+ WednesdayEntryCount ++ ;
39+ this . WednesdayAverageWorkingHours = Math . Round ( WednesdayTotalWorkingHours / WednesdayEntryCount , 2 ) ;
40+
3841 break ;
3942 case DayOfWeek . Thursday :
4043 ThursdayTotalWorkingHours += durationAsHours ;
41- this . ThursdayAverageWorkingHours = Math . Round ( durationAsHours / ThursdayTotalWorkingHours , 2 ) ;
42- this . ThursdayValueShare = Math . Round ( ThursdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
44+ ThursdayEntryCount ++ ;
45+ this . ThursdayAverageWorkingHours = Math . Round ( ThursdayTotalWorkingHours / ThursdayEntryCount , 2 ) ;
46+
4347 break ;
4448 case DayOfWeek . Friday :
4549 FridayTotalWorkingHours += durationAsHours ;
46- this . FridayAverageWorkingHours = Math . Round ( durationAsHours / FridayTotalWorkingHours , 2 ) ;
47- this . FridayValueShare = Math . Round ( FridayAverageWorkingHours / TotalWorkingHours , 2 ) ;
50+ FridayEntryCount ++ ;
51+ this . FridayAverageWorkingHours = Math . Round ( FridayTotalWorkingHours / FridayEntryCount , 2 ) ;
52+
4853 break ;
4954 case DayOfWeek . Saturday :
5055 SaturdayTotalWorkingHours += durationAsHours ;
51- this . SaturdayAverageWorkingHours = Math . Round ( durationAsHours / SaturdayTotalWorkingHours , 2 ) ;
52- this . SaturdayValueShare = Math . Round ( SaturdayAverageWorkingHours / TotalWorkingHours , 2 ) ;
56+ SaturdayEntryCount ++ ;
57+ this . SaturdayAverageWorkingHours = Math . Round ( SaturdayTotalWorkingHours / SaturdayEntryCount , 2 ) ;
58+
5359 break ;
5460 case DayOfWeek . Sunday :
5561 SundayTotalWorkingHours += durationAsHours ;
56- this . SundayAverageWorkingHours = Math . Round ( durationAsHours / SundayTotalWorkingHours , 2 ) ;
57- this . SundayValueShare = Math . Round ( SundayAverageWorkingHours / TotalWorkingHours , 2 ) ;
62+ SundayEntryCount ++ ;
63+ this . SundayAverageWorkingHours = Math . Round ( SundayTotalWorkingHours / SundayEntryCount , 2 ) ;
5864 break ;
5965 } ;
66+
67+ CalculateShares ( ) ;
6068 }
6169 }
6270
71+ private void CalculateShares ( )
72+ {
73+ this . MondayValueShare = Math . Round ( MondayTotalWorkingHours / TotalWorkingHours , 2 ) ;
74+ this . TuesdayValueShare = Math . Round ( TuesdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
75+ this . WednesdayValueShare = Math . Round ( WednesdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
76+ this . ThursdayValueShare = Math . Round ( ThursdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
77+ this . FridayValueShare = Math . Round ( FridayTotalWorkingHours / TotalWorkingHours , 2 ) ;
78+ this . SaturdayValueShare = Math . Round ( SaturdayTotalWorkingHours / TotalWorkingHours , 2 ) ;
79+ this . SundayValueShare = Math . Round ( SundayTotalWorkingHours / TotalWorkingHours , 2 ) ;
80+ }
81+
6382 public IEnumerable < MostProductiveWeekDaysViewModel > GetResults ( )
6483 {
6584 return new List < MostProductiveWeekDaysViewModel >
@@ -120,23 +139,30 @@ public IEnumerable<MostProductiveWeekDaysViewModel> GetResults()
120139 public double MondayTotalWorkingHours { get ; private set ; }
121140 public double MondayValueShare { get ; private set ; }
122141 public double MondayAverageWorkingHours { get ; private set ; }
142+ public double MondayEntryCount { get ; set ; }
123143 public double TuesdayTotalWorkingHours { get ; private set ; }
124144 public double TuesdayValueShare { get ; private set ; }
125145 public double TuesdayAverageWorkingHours { get ; private set ; }
146+ public double TuesdayEntryCount { get ; set ; }
126147 public double WednesdayTotalWorkingHours { get ; private set ; }
127148 public double WednesdayValueShare { get ; private set ; }
128149 public double WednesdayAverageWorkingHours { get ; private set ; }
150+ public double WednesdayEntryCount { get ; set ; }
129151 public double ThursdayTotalWorkingHours { get ; private set ; }
130152 public double ThursdayValueShare { get ; private set ; }
131153 public double ThursdayAverageWorkingHours { get ; private set ; }
154+ public double ThursdayEntryCount { get ; set ; }
132155 public double FridayTotalWorkingHours { get ; private set ; }
133156 public double FridayValueShare { get ; private set ; }
134157 public double FridayAverageWorkingHours { get ; private set ; }
158+ public double FridayEntryCount { get ; set ; }
135159 public double SaturdayTotalWorkingHours { get ; private set ; }
136160 public double SaturdayValueShare { get ; private set ; }
137161 public double SaturdayAverageWorkingHours { get ; private set ; }
162+ public double SaturdayEntryCount { get ; set ; }
138163 public double SundayTotalWorkingHours { get ; private set ; }
139164 public double SundayValueShare { get ; private set ; }
140165 public double SundayAverageWorkingHours { get ; private set ; }
166+ public double SundayEntryCount { get ; set ; }
141167 }
142168}
0 commit comments