private void buttonStartTimer_Click(object sender, EventArgs e) { UpdateDatabaseTimeRecord(true); UpdateScrollingText(); TimeSelection dlg = new TimeSelection(); if (dlg.ShowDialog() == DialogResult.OK) { if (dlg.m_selected == null) { return; } buttonStopCurentTimer_Click(null, null); m_currentTimer = dlg.m_selected; string sql = DBHelper.GenerateInsertTimeRecordSQL(m_currentTimer); m_currentTimer.db_id = LocalSqllite.ExecSQLCommandScalar(sql); // Create new stopwatch. m_stopWatch = System.Diagnostics.Stopwatch.StartNew(); m_isPaused = false; labelTimerDescription.Text = m_currentTimer.desc; buttonPauseTimer.Enabled = true; } }
private void buttonEdit_Click(object sender, EventArgs e) { try { if (listViewTimers.SelectedItems.Count == 0) { MessageBox.Show("You have not selected an item."); return; } NewTimer dlg = new NewTimer(); ListViewItem itm = listViewTimers.SelectedItems[0]; TimerType selected = (TimerType)itm.Tag; dlg.m_pmoNum = selected.pmo_num; dlg.m_desc = selected.desc; if (dlg.ShowDialog() == DialogResult.OK) { //itm.Text = dlg.m_pmoNum; //itm.SubItems[0].Text = dlg.m_desc; string sql = string.Format("UPDATE [timer_types] SET description = '{0}' where pmo_number = '{1}'", dlg.m_desc, dlg.m_pmoNum); LocalSqllite.ExecSQLCommand(sql); PopulateList(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void buttonDelete_Click(object sender, EventArgs e) { try { if (listViewTimers.SelectedItems.Count == 0) { MessageBox.Show("You have not selected an item."); return; } ListViewItem itm = listViewTimers.SelectedItems[0]; TimerType selected = (TimerType)itm.Tag; DialogResult result = MessageBox.Show("Are you sure you want to REMOVE this item?", "Remove", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { string sql = string.Format("delete from [timer_types] where pmo_number = {0} ", selected.pmo_num); LocalSqllite.ExecSQLCommand(sql); PopulateList(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void LoadData(DateTime dateStart) { SetWeekText(); SetupDataGridViewHeaders(dateStart); SetTitleText(); dataGridView1.Rows.Clear(); var timerList = DBHelper.GetTimerList(); foreach (TimerType timerType in timerList) { List <string> dayTotals = new List <string>(); foreach (string date in m_dates) { string sql = string.Format("select ifnull(sum(mins_accrued),0) from time_sheet where date = '{0}' and pmo_number = '{1}'", date, timerType.pmo_num); string result = LocalSqllite.ExecSQLCommandScalar(sql); dayTotals.Add(result); } AddToDataGridView(timerType.desc, timerType.pmo_num, dayTotals[0], dayTotals[1], dayTotals[2], dayTotals[3], dayTotals[4], dayTotals[5], dayTotals[6], Color.Black); } AddTotalsRow(); HighlightCurrentDayColumn(); }
void UpdateDatabaseTimeRecord(bool bOverrideTimeCheck) { try { if (m_currentTimer == null || m_stopWatch == null) { return; } if (bOverrideTimeCheck == false) { TimeSpan span = DateTime.Now - m_dateTimeLastWriteToDB; const int intervalTimeMins = 1; if (span.TotalMinutes < intervalTimeMins) { labelStatus.Text = "Ready.."; // only update the database every 1 minue return; } } labelStatus.Text = "Updating database.."; string sql = DBHelper.GenerateUpdateTimeRecordSQL(m_currentTimer, m_stopWatch.Elapsed); LocalSqllite.ExecSQLCommand(sql); m_dateTimeLastWriteToDB = DateTime.Now; } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void SaveCmd() { try { var exists = false; try { exists = MainContext.GetEntities<DTask>().Any(t => t.PeriodId == SelectedTask.Period.Id && t.Period.ProjectId == SelectedTask.Period.Project.Id && t.Title == SelectedTask.Title && t.Id != SelectedTask.Id); } catch { } if (exists) { throw new Exception("This Task is Already exists! Change title of Task!"); } MainContext.SaveChanges(); string sql = string.Format("INSERT INTO [timer_types] (pmo_number, description) VALUES ('{0}', '{1}')", SelectedTask.Id.ToString(), SelectedTask.Title); LocalSqllite.ExecSQLCommand(sql); Model.Helpers.Message.ShowComMsg("Save Complated!"); } catch (Exception ex) { string msg = Helper.GetMessage(ex); Model.Helpers.Message.ShowErrorMsg(msg); } }
private void buttonOK_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in dataGridView1.Rows) { string sql = string.Format("UPDATE app_settings SET value = '{0}' WHERE setting = '{1}'", row.Cells[1].Value, row.Cells[0].Value); LocalSqllite.ExecSQLCommand(sql); } }
string TotalMinsToFriendlyTime(double nMinsWorked) { string sqlFriendlyTime = string.Format("SELECT time({0} * 60, 'unixepoch');", nMinsWorked); string friendlyTime = LocalSqllite.ExecSQLCommandScalar(sqlFriendlyTime); return(friendlyTime); }
public void UpdateTotalTimeWorkedToday() { try { string sqlMinsWorked = string.Format("select ifnull(sum(mins_accrued),0) from time_sheet where date = '{0}'", DBHelper.DateToDBDate(DateTime.Now)); string minsWorked = LocalSqllite.ExecSQLCommandScalar(sqlMinsWorked); double nMinsWorked = Convert.ToDouble(minsWorked); string friendlyTime = TotalMinsToFriendlyTime(nMinsWorked); string text = "Keep up the good work!"; if (nMinsWorked < 60) { // under an hour text = "Ouch!! Just starting out!! Keep at it!"; } if (nMinsWorked > 120) { // over 2 hours text = "Building up momentum!"; } if (nMinsWorked > 240) { // over 2 hours text = "Its downhill from here!"; } if (nMinsWorked > 420) { // over 2 hours text = "Almost there!!"; } if (nMinsWorked > 449) { // over 2 hours text = "Youve done it!! GO HOME!"; } if (nMinsWorked > 500) { // over 2 hours text = "Your a superstar!!"; } if (nMinsWorked > 530) { // over 2 hours text = "Now your just showing off!!"; } labelTotalTimeToday.Text = string.Format("You have worked {0} today. {1}", friendlyTime, text); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private string TotalMinsToFriendlyTime(string totalMins) { if (totalMins == "") { totalMins = "0"; } string sqlFriendlyTime = string.Format("SELECT time({0} * 60, 'unixepoch');", totalMins); string friendlyTime = LocalSqllite.ExecSQLCommandScalar(sqlFriendlyTime); return(friendlyTime); }
public void UpdateScrollingText() { try { TimeSpan span = DateTime.Now - m_dateTimeUpdateTotalTimes; // only call this function once per minute. const int intervalTimeMins = 1; if (span.TotalMinutes < intervalTimeMins) { return; } m_scroll.ClearTextToDisplay(); string sqlMinsWorked = string.Format("select ifnull(sum(mins_accrued),0) from time_sheet where date = '{0}'", DBHelper.DateToDBDate(DateTime.Now)); string minsWorked = LocalSqllite.ExecSQLCommandScalar(sqlMinsWorked); string friendlyTime = TotalMinsToFriendlyTime(Convert.ToDouble(minsWorked)); m_scroll.AddTextToDisplay(string.Format("*** Total time worked today: {0} ***", friendlyTime)); string monday, sunday; if (GetWeekBeginningAndEnd(out monday, out sunday) == true) { string sqlWeek = string.Format("select ifnull(sum(mins_accrued),0) from time_sheet where Date >= Datetime('{0}') and Date <= Datetime('{1}')", monday, sunday); minsWorked = LocalSqllite.ExecSQLCommandScalar(sqlWeek); friendlyTime = TotalMinsToFriendlyTime(Convert.ToDouble(minsWorked)); m_scroll.AddTextToDisplay(string.Format("*** Total time worked this week: {0} ***", friendlyTime)); } // SELECT date('now','start of month') -- Get Start date of the month // SELECT date('now','start of month','+1 month','-1 day'); -- Get End date of month string sqlMinsWorkedMonth = "select ifnull(sum(mins_accrued),0) from time_sheet WHERE Date >= date('now','start of month') AND Date <= date('now','start of month','+1 month','-1 day');"; string minsWorkedMonth = LocalSqllite.ExecSQLCommandScalar(sqlMinsWorkedMonth); friendlyTime = TotalMinsToFriendlyTime(Convert.ToDouble(minsWorkedMonth)); m_scroll.AddTextToDisplay(string.Format("*** Total time worked this month: {0} ***", friendlyTime)); m_dateTimeUpdateTotalTimes = DateTime.Now; } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void Form1_Load(object sender, EventArgs e) { SetWindowTitle(); SetTodayText(); LocalSqllite.CreateNewSQLLiteDatabase(); UpdateTotalTimeWorkedToday(); StartTimer(); buttonPauseTimer.Enabled = false; m_scroll = new ScrollingMarqueeText(); m_scroll.StartScrollingText(this, labelScrollText, " "); UpdateScrollingText(); }
private void buttonAdd_Click(object sender, EventArgs e) { try { NewTimer dlg = new NewTimer(); if (dlg.ShowDialog() == DialogResult.OK) { ListViewItem item = new ListViewItem(); item.Text = dlg.m_pmoNum; item.SubItems.Add(dlg.m_desc); listViewTimers.Items.Add(item); string sql = string.Format("INSERT INTO [timer_types] (pmo_number, description) VALUES ('{0}', '{1}')", dlg.m_pmoNum, dlg.m_desc); LocalSqllite.ExecSQLCommand(sql); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void AddTotalsRow() { try { // Add a totals row. List <string> dayTotals = new List <string>(); foreach (string date in m_dates) { string sql = string.Format("select ifnull(sum(mins_accrued),0) from time_sheet where date = '{0}'", date); string result = LocalSqllite.ExecSQLCommandScalar(sql); dayTotals.Add(result); } // Add a totals row. AddToDataGridView("TOTAL", "N/A", dayTotals[0], dayTotals[1], dayTotals[2], dayTotals[3], dayTotals[4], dayTotals[5], dayTotals[6], Color.Red); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void buttonOK_Click(object sender, EventArgs e) { try { if (textBoxPMONumber.Text == "") { this.DialogResult = System.Windows.Forms.DialogResult.None; MessageBox.Show("Please Select Time Tracker"); return; } StringBuilder sb = new StringBuilder(); if (m_mode == Mode.AddMode) { // insert statement sb.AppendLine("INSERT INTO time_sheet ( date, work_start_time, work_end_time, pmo_number, mins_accrued ) VALUES ( "); sb.AppendLine(string.Format("'{0}'", textBoxDate.Text)); sb.AppendLine(string.Format(",'{0}'", textBoxWorkStartDate.Text)); sb.AppendLine(string.Format(",'{0}'", textBoxWorkEndTime.Text)); sb.AppendLine(string.Format(",'{0}'", textBoxPMONumber.Text)); sb.AppendLine(string.Format(",'{0}'", textBoxTimeAccrued.Text)); sb.AppendLine(");"); } if (m_mode == Mode.EditMode) { // ensure dates are in the correct format to be written to the db string endDate = DBHelper.DateToDBDateTime(Convert.ToDateTime(textBoxWorkEndTime.Text)); string statDate = DBHelper.DateToDBDateTime(Convert.ToDateTime(textBoxWorkStartDate.Text)); string date = DBHelper.DateToDBDate(Convert.ToDateTime(textBoxDate.Text)); // update statment sb.AppendLine("UPDATE time_sheet SET "); sb.AppendLine(string.Format("date = '{0}'", date)); sb.AppendLine(string.Format(",work_start_time = '{0}'", statDate)); sb.AppendLine(string.Format(",work_end_time = '{0}'", endDate)); sb.AppendLine(string.Format(",pmo_number = '{0}'", textBoxPMONumber.Text)); sb.AppendLine(string.Format(",mins_accrued = '{0}'", textBoxTimeAccrued.Text)); sb.AppendLine(string.Format("WHERE work_id = '{0}'", textBoxWorkId.Text)); } if (m_mode == Mode.DeleteMode) { DialogResult d = MessageBox.Show("Are you sure you want to delete this time record?", "You Sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (d == DialogResult.No) { this.DialogResult = System.Windows.Forms.DialogResult.None; return; } sb.AppendLine("DELETE FROM time_sheet"); sb.AppendLine(string.Format("WHERE work_id = '{0}'", textBoxWorkId.Text)); } LocalSqllite.ExecSQLCommand(sb.ToString()); MainForm.m_handle.UpdateTotalTimeWorkedToday(); this.DialogResult = System.Windows.Forms.DialogResult.OK; } catch (Exception ex) { Console.WriteLine(ex.Message); } }