public void ModifyMode() { string sql; string[] date = past_day.ToString("yyyy-M-d").Split('-'); string[] date2 = dateTimePicker_start.Value.ToString("yyyy-M-d").Split('-'); decimal[] pastDateYMD = { decimal.Parse(date[0]), decimal.Parse(date[1]), decimal.Parse(date[2]) }; decimal[] dateYMD = { decimal.Parse(date2[0]), decimal.Parse(date2[1]), decimal.Parse(date2[2]) }; decimal[] setTimeHM = { numericUpDown_hour.Value, numericUpDown_minute.Value }; sql = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.CALENDAR_MODE, pastDateYMD, originalHM); if (!OverlapCheck(sql, true)) { return; } // single alarm mode. if (checkBox_isMulti.Checked == false) { sql = new ListSqlQuery().sqlUpdateData(ListSqlQuery.CALENDAR_MODE, pastDateYMD, originalHM, dateYMD, setTimeHM, textBox_text.Text, checkBox_alarm.Checked); QueryActive(sql); } // multi alarm mode. else { DateTime temp_checkDay = new DateTime(dateTimePicker_start.Value.Ticks); int dayCount = (DateTime.Parse(dateTimePicker_end.Value.ToString("yyyy-M-d")) - DateTime.Parse(dateTimePicker_start.Value.ToString("yyyy-M-d"))).Days; for (int count = 0; count <= dayCount; count++, temp_checkDay = temp_checkDay.AddDays(1)) { date = temp_checkDay.ToString("yyyy-M-d").Split('-'); pastDateYMD = new decimal[3] { decimal.Parse(date[0]), decimal.Parse(date[1]), decimal.Parse(date[2]) }; sql = new ListSqlQuery().sqlUpdateData(ListSqlQuery.CALENDAR_MODE, pastDateYMD, originalHM, pastDateYMD, setTimeHM, textBox_text.Text, checkBox_alarm.Checked); QueryActive(sql); } } // refresh data RefreshData(); RefreshCalendar(); }
// time refresh. public void NextAlarmReadyRefresh() { try { isAlarmExist = false; decimal[] dateYMD = { decimal.Parse(DateTime.Now.ToString("yyyy")), decimal.Parse(DateTime.Now.ToString("MM")), decimal.Parse(DateTime.Now.ToString("dd")) }; string sql = new ListSqlQuery().sqlNextAlarmCheck(dateYMD); connect[0].Open(); command = new SQLiteCommand(sql, connect[0]); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { alarm = new DateTime(); if ((bool)reader["active"] == true) { alarm = new DateTime((int)reader["year"], (int)reader["month"], (int)reader["day"], (int)reader["sethour"], (int)reader["setminute"], 0); if (alarm < DateTime.Now) { continue; } isAlarmExist = true; alarm_text = reader["text"].ToString(); break; } } if (!isAlarmExist) { alarm = new DateTime(); alarm = alarm.AddYears(9997); alarm_text = "alarm disable."; } reader.Close(); connect[0].Close(); TodayAlarmChecked(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
// EVENT. private void Button_today_OK_Click(object sender, EventArgs e) { decimal[] time = { nUD_t_hour.Value, nUD_t_minute.Value }; int length = Encoding.Default.GetBytes(textBox_today_text.Text).Length; if (length <= 20 && length > 0) { try { string sql = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.ALARM_MODE, null, time); if (!OverlapCheck(sql)) { MessageBox.Show("Duplicate alarm time."); return; } // add mode if (isAddMode) { sql = new ListSqlQuery().sqlInsertValues(ListSqlQuery.ALARM_MODE, null, time, textBox_today_text.Text, true); } else { sql = new ListSqlQuery().sqlUpdateData(ListSqlQuery.ALARM_MODE, null, originalHM, null, time, textBox_today_text.Text, true); } QueryActive(sql); } catch (Exception exc) { MessageBox.Show("Error : " + exc.Message); if (tempConnect.State.ToString() == "Open") { tempConnect.Close(); } } } else { MessageBox.Show("Invalid input.\nPlease select the correct date."); } }
// Impliment Method. public void AddMode(bool multiMod) { string[] tempDate = (dateTimePicker_start.Value.ToString("yyyy-M-d")).Split('-'); DataManage setData = new DataManage(dateYMD[0], dateYMD[1], dateYMD[2], numericUpDown_setHour.Value, numericUpDown_setMinute.Value, textBox_calendarText.Text, checkBox_checkAlarm.Checked); // overlap alarm check. string sql_str = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.CALENDAR_MODE, setData.YearMonthDay, setData.HourMinute); if (!OverlapCheck(sql_str, false)) { return; } // insert data. (normal) if (!multiMod) { sql_str = new ListSqlQuery().sqlInsertValues(ListSqlQuery.CALENDAR_MODE, setData.YearMonthDay, setData.HourMinute, setData.Text, setData.Active); QueryActive(sql_str, false); } // insert data. (multi) else { DateTime temp_nextday = new DateTime(dateTimePicker_start.Value.Ticks); TimeSpan temp = DateTime.Parse(dateTimePicker_end.Value.ToString("yyyy-M-d")) - DateTime.Parse(dateTimePicker_start.Value.ToString("yyyy-M-d")); int dayTemp = temp.Days; bool oncemessage = true; for (int count = 0; count <= dayTemp; count++, temp_nextday = temp_nextday.AddDays(1)) { tempDate = temp_nextday.ToString("yyyy-M-d").Split('-'); setData.YearMonthDay = new decimal[] { decimal.Parse(tempDate[0]), decimal.Parse(tempDate[1]), decimal.Parse(tempDate[2]) }; sql_str = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.CALENDAR_MODE, setData.YearMonthDay, setData.HourMinute); tempConnect.Open(); command = new SQLiteCommand(sql_str, tempConnect); SQLiteDataReader reader = command.ExecuteReader(); // data is already exist. if (reader.Read()) { reader.Close(); tempConnect.Close(); if (oncemessage) { MessageBox.Show("Existing data was maintained due to overlapping schedules."); } oncemessage = false; } // data is not already exist. else { reader.Close(); tempConnect.Close(); sql_str = new ListSqlQuery().sqlInsertValues(ListSqlQuery.CALENDAR_MODE, setData.YearMonthDay, setData.HourMinute, textBox_calendarText.Text, checkBox_checkAlarm.Checked); tempConnect.Open(); command = new SQLiteCommand(sql_str, tempConnect); command.ExecuteNonQuery(); tempConnect.Close(); } } calendar.ChangeCalendar(); calendar.CalendarListRefresh(); calendar.RefreshAlarm(); Close(); } }
public void ModifyMode() { decimal[] DateHM = { numericUpDown_setHour.Value, numericUpDown_setMinute.Value }; string sql = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.CALENDAR_MODE, dateYMD, DateHM); // overlap alarm check. if (!OverlapCheck(sql, true)) { return; } // update data. (normal) if (!checkBox_multiMode.Checked) { sql = new ListSqlQuery().sqlUpdateData(ListSqlQuery.CALENDAR_MODE, originalYMD, originalHM, dateYMD, DateHM, textBox_calendarText.Text, checkBox_checkAlarm.Checked); QueryActive(sql, true); } // update data. (multi) else { DateTime temp_nextday = new DateTime(startDateTemp.Ticks); TimeSpan temp = DateTime.Parse(dateTimePicker_end.Value.ToString("yyyy-MM-dd")) - DateTime.Parse(startDateTemp.ToString("yyyy-MM-dd")); int dayTemp = temp.Days; if (dayTemp > 0) { for (int count = 0; count <= dayTemp; count++, temp_nextday = temp_nextday.AddDays(1)) { // DB Check string[] curDateStr = temp_nextday.ToString("yyyy-MM-dd").Split('-'); decimal[] curDate = { decimal.Parse(curDateStr[0]), decimal.Parse(curDateStr[1]), decimal.Parse(curDateStr[2]) }; sql = new ListSqlQuery().sqlOverlapCheck(ListSqlQuery.CALENDAR_MODE, curDate, originalHM); tempConnect.Open(); command = new SQLiteCommand(sql, tempConnect); SQLiteDataReader reader = command.ExecuteReader(); // data is already exist. if (reader.Read()) { reader.Close(); tempConnect.Close(); sql = new ListSqlQuery().sqlUpdateData(ListSqlQuery.CALENDAR_MODE, curDate, originalHM, curDate, DateHM, textBox_calendarText.Text, checkBox_checkAlarm.Checked); tempConnect.Open(); command = new SQLiteCommand(sql, tempConnect); command.ExecuteNonQuery(); tempConnect.Close(); } // data is not already exist. else { reader.Close(); tempConnect.Close(); } } } calendar.ChangeCalendar(); calendar.CalendarListRefresh(); calendar.RefreshAlarm(); Close(); } }
// today alarm check. public void TodayAlarmChecked() { DateTime current = DateTime.Now; bool findToday = false; try { string sql = new ListSqlQuery().sqlListViewRefresh(ListSqlQuery.ALARM_MODE, null); connect[1].Open(); command = new SQLiteCommand(sql, connect[1]); SQLiteDataReader reader = command.ExecuteReader(); // Today alarm confirm. while (reader.Read()) { DateTime today = new DateTime(current.Year, current.Month, current.Day, (int)reader["sethour"], (int)reader["setminute"], 0); if (today <= current) { continue; } else if (today > current) { findToday = true; if (today >= alarm) { break; } else if (today < alarm) { alarm = today; alarm_text = reader["text"].ToString(); break; } } } reader.Close(); // Next day confirm. if (!findToday) { reader = command.ExecuteReader(); if (reader.Read()) { DateTime today = new DateTime(current.Year, current.Month, current.Day + 1, (int)reader["sethour"], (int)reader["setminute"], 0); if (today > current && today < alarm) { alarm = today; alarm_text = reader["text"].ToString(); } } reader.Close(); } connect[1].Close(); MessageBox.Show("alarm : " + alarm.Year + "." + alarm.Month + "." + alarm.Day + " " + alarm.Hour + ":" + alarm.Minute); } catch (Exception exc) { MessageBox.Show(exc.Message); } }