private void LoadConfiguration(ConfigureEventArgs cpea) { var databaseFileNode = (XmlElement)cpea.Document.SelectSingleNode("//cherryTomato/databaseFile"); if (databaseFileNode != null) { this.databaseFilename = databaseFileNode.GetAttribute("path"); } this.connection = new DatabaseConnection(this.databaseFilename); var ea = new ConnectToDbEventArgs(this.connection); this.connectToDbEvent.Fire(ea); }
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 DatabaseTest() { var r = DateTime.Now.Ticks; var testDatabaseFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\test_" + r + ".sqlite"; dbCon = new DatabaseConnection(testDatabaseFile); }
public ConnectToDbEventArgs(DatabaseConnection dbConnection) { this.DbConnection = dbConnection; }
public void ConnectToDatabase(DatabaseConnection newDatabaseConnection) { this.pluginStarted = this.Now; this.databaseConnection = newDatabaseConnection; if (!this.databaseConnection.TableExists("PomodoroRegistrations")) { this.databaseConnection.ExecuteNonQuery( "create table PomodoroRegistrations (TimeStamp datetime not null, Duration integer not null, Evaluation int not null);"); } this.ReadAllPomodoros(); var todayStart = this.Now.Date; var todayPomodoros = this.allRegisteredPomodoros.Where(p => p.Start >= todayStart); this.TodayProductivity = new PomodorosProductivity(todayPomodoros); this.addNewTriggerCommand.Do(new TimeTriggerCommandArgs( "Noon Crossed", TriggerUtils.MakeDailyTrigger(0, 0), // fired on every noon () => this.SetPomodorosToday(new PomodorosProductivity()))); // reset pomodoro counts for today }