public TimeEntry GetLastTimeEntry(bool getInternal = false) { using (var cnn = GetConnection()) using (var cmd = cnn.CreateCommand()) { var internalWhere = (getInternal) ? "" : "WHERE Internal = 0"; cmd.CommandText = "SELECT * FROM TimeEntries " + internalWhere + " ORDER BY Id DESC LIMIT 1"; using (var reader = cmd.ExecuteReader()) { if (!reader.Read()) { return(null); } var timeEntry = new TimeEntry { TimeRecorded = DateTime.SpecifyKind(reader.GetDateTime(reader.GetOrdinal("TimeRecorded")), DateTimeKind.Local), Comment = reader.Get <string>("Comment"), Id = reader.Get <int>("Id"), Task = _localTaskRepository.GetTaskById(reader.Get <string>("TaskId")), AssociatedTask = _localTaskRepository.GetTaskById(reader.Get <string>("AssociatedTaskId")), Synced = reader.Get <bool>("Synced"), MinutesSpent = reader.Get <int>("MinutesSpent"), Internal = reader.Get <bool>("Internal"), Project = _localProjectRepository.GetProjectById(reader.Get <string>("ProjectId")) }; return(timeEntry); } } }
public Task GetTaskById(string taskId) { return(_localTaskRepository.GetTaskById(taskId)); }