Пример #1
0
        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();
        }
Пример #2
0
        // 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); }
        }
Пример #3
0
        // 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();
            }
        }
Пример #6
0
        // 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); }
        }