// If you have TestDriven.Net, you can just right-click inside this function and select Run Test in order to test the dashboard.
        public void Test()
        {
            var day = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
            var r = new Random();
            while (day <= DateTime.Today)
            {
                var pc = r.Next(8) + 1;

                if (day.DayOfWeek == DayOfWeek.Saturday || day.DayOfWeek == DayOfWeek.Sunday)
                {
                    if (r.Next(6) == 0)
                        pc = r.Next(2) + 1;
                    else  // Most weekends we didn't do any work..
                        pc = 0;

                }
                var pi = pc * (r.Next(10) + 1);

                productivityIndices[day] = new PomodorosProductivity(pc, pi);
                day = day.AddDays(1);
            }

            this.form.SetProductivityIndices(productivityIndices);
            this.form.statusLabel.Text = "Out of pomodoro for 3 minutes";
            this.form.ShowInTaskbar = true;
            this.form.ControlBox = true; // Add the close button so we can stop the test..
            this.form.ShowDialog();
        }
        public void ConnectToDatabase(DatabaseConnection newDatabaseConnection)
        {
            databaseConnection = newDatabaseConnection;

            var today = (DateTime)this.getCurrentTime.Do(null);
            var twoMonthsAgo = new DateTime(today.Year, today.Month, 1).AddMonths(-1);

            var recentPomodoros = databaseConnection.ExecuteReader(
                "select * from PomodoroRegistrations where TimeStamp >= @p1",
                twoMonthsAgo);
            foreach (DataRow r in recentPomodoros.Rows)
            {
                var date = Convert.ToDateTime(r["TimeStamp"]).Date;
                if (!productivityIndices.ContainsKey(date))
                    productivityIndices[date] = new PomodorosProductivity();

                productivityIndices[date].Pomodoros++;
                var rating = Convert.ToInt32(r["Evaluation"]);
                productivityIndices[date].Rating += rating;
            }

            this.form.SetProductivityIndices(productivityIndices);
        }
        public void SetPomodorosToday(PomodorosProductivity productivity)
        {
            var today = DateTime.Today;

            if (!productivityIndices.ContainsKey(today))
                productivityIndices[today] = new PomodorosProductivity();

            productivityIndices[today].Pomodoros = productivity.Pomodoros;
            productivityIndices[today].Rating = productivity.Rating;
            this.form.UpdateControl(() => { if (this.form.Handle != IntPtr.Zero) this.form.Invalidate(true); });
        }
 public PomodoroEventArgs(PomodorosProductivity productivityData)
 {
     this.ProductivityData = productivityData;
 }
Exemplo n.º 5
0
 private void SetPomodorosToday(PomodorosProductivity todayProductivity)
 {
     this.TodayProductivity = todayProductivity;
     this.numberOfPomodorosChangedEvent.Fire(new PomodoroEventArgs(this.TodayProductivity));
 }
 private void SetPomodorosToday(PomodorosProductivity todayProductivity)
 {
     this.TodayProductivity = todayProductivity;
     this.numberOfPomodorosChangedEvent.Fire(new PomodoroEventArgs(this.TodayProductivity));
 }
Exemplo n.º 7
0
 public PomodoroEventArgs(PomodorosProductivity productivityData)
 {
     this.ProductivityData = productivityData;
 }