public PairTrackerPresenter(PairTrackerView view, PairingSession model, AboutPresenter aboutPresenter, SessionPercentageStatisticGenerator statGenerator, Repository <PairingSession> repository) { this.view = view; this.model = model; this.statGenerator = statGenerator; this.repository = repository; this.aboutPresenter = aboutPresenter; view.StartButton_Clicked += new EventHandler <StartButtonClickedEventArgs>(StartSession); view.StopButton_Clicked += new EventHandler <EventArgs>(EndSession); view.Controller_Changed += new EventHandler <ControllerChangedEventArgs>(ChangeControllerHandler); view.CloseButton_Clicked += new EventHandler <CloseButtonClickedEventArgs>(Close); view.About_Clicked += new EventHandler <EventArgs>(ShowAbout); view.PauseButton_Clicked += new EventHandler <EventArgs>(PauseSession); }
public PairTrackerPresenter(PairTrackerView view, PairingSession model, AboutPresenter aboutPresenter, SessionPercentageStatisticGenerator statGenerator, Repository<PairingSession> repository) { this.view = view; this.model = model; this.statGenerator = statGenerator; this.repository = repository; this.aboutPresenter = aboutPresenter; view.StartButton_Clicked += new EventHandler<StartButtonClickedEventArgs>(StartSession); view.StopButton_Clicked += new EventHandler<EventArgs>(EndSession); view.Controller_Changed += new EventHandler<ControllerChangedEventArgs>(ChangeControllerHandler); view.CloseButton_Clicked += new EventHandler<CloseButtonClickedEventArgs>(Close); view.About_Clicked += new EventHandler<EventArgs>(ShowAbout); view.PauseButton_Clicked += new EventHandler<EventArgs>(PauseSession); }
private IDictionary <Programmer, TimeSpan> GetTotalTimeByProgrammer(PairingSession session) { var totalTimeInSessionByProgrammer = new Dictionary <Programmer, TimeSpan>(); foreach (var interval in session.Intervals) { if (totalTimeInSessionByProgrammer.ContainsKey(interval.Programmer)) { totalTimeInSessionByProgrammer[interval.Programmer] += interval.Length; } else { totalTimeInSessionByProgrammer.Add(interval.Programmer, interval.Length); } } return(totalTimeInSessionByProgrammer); }
public PairTrackerPresenterBuilder WithModel(PairingSession model) { this.model = model; return(this); }
public PairTrackerPresenterBuilder WithModel(PairingSession model) { this.model = model; return this; }
public IDictionary <Programmer, Statistic> Generate(PairingSession session) { var totalTimeInSessionByProgrammer = GetTotalTimeByProgrammer(session); return(GetPercentageOfSessionByProgrammer(totalTimeInSessionByProgrammer, session)); }
private IDictionary <Programmer, Statistic> GetPercentageOfSessionByProgrammer(IDictionary <Programmer, TimeSpan> totalSecondsInSessionByProgrammer, PairingSession session) { var percentageOfSessionByProgrammer = new Dictionary <Programmer, Statistic>(); //TODO: Clean this up TimeSpan timeControlledByNeither = new TimeSpan(); totalSecondsInSessionByProgrammer.TryGetValue(Programmer.Neither, out timeControlledByNeither); var totalTimeControlledByAProgrammer = session.Length - timeControlledByNeither; foreach (var item in totalSecondsInSessionByProgrammer) { if (item.Key != Programmer.Neither) { percentageOfSessionByProgrammer.Add(item.Key, CalculateStatistic(item.Value, totalTimeControlledByAProgrammer)); } } return(percentageOfSessionByProgrammer); }