/// <summary> /// SQL接続(destroy) /// </summary> private void destroy(DBManager.Contents.data contents) { string strSQL = "delete from contents_list" + " where id = '" + contents.id + "' "; sqliteAccess.update(strSQL); }
/// <summary> /// SQL接続(update) /// </summary> private void update(DBManager.Contents.data contents) { string strSQL = "update contents_list set " + "data_type = " + contents.data_type + ", contents = '" + contents.contents + "'" + ", show_stickies = " + ((contents.show_stickies == true) ? 1 : 0) + ", backcolor_stickies = '" + contents.backcolor_stickies + "'" + ", point_stickies = '" + contents.point_stickies + "'" + ", time_trigger = " + (contents.time_trigger == true ? 1 : 0) + ", time_trigger_type = " + contents.time_trigger_type + ", time_trigger_datetime = datetime('" + contents.time_trigger_datetime.ToString("yyyy-MM-dd HH:mm:ss") + "')" + ", time_trigger_dayofweek = " + contents.time_trigger_dayofweek + ", attach_trigger = " + (contents.attach_trigger == true ? 1 : 0) + ", attach_trigger_title = '" + contents.attach_trigger_title + "'" + ", display_backimage_stickies = " + (contents.display_backimage_stickies == true ? 1 : 0) + ", display_backimage_type_stickies = " + contents.display_backimage_type_stickies + ", display_backimage_path_stickies = '" + contents.display_backimage_path_stickies + "'" + ", display_backimage_region_stickies = " + (contents.display_backimage_region_stickies == true ? 1 : 0) + ", display_font_stickies = ''" + ", task_to_calendar = " + ((contents.task_to_calendar == true) ? 1 : 0) + ", task_trigger_type = " + contents.task_trigger_type + ", task_trigger_datetime = datetime('" + contents.task_trigger_datetime.ToString("yyyy-MM-dd HH:mm:ss") + "')" + ", task_trigger_dayofweek = " + contents.task_trigger_dayofweek + ", task_trigger_span = " + contents.task_trigger_span + ", task_range = " + ((contents.task_range == true) ? 1 : 0) + ", task_range_startdate = datetime('" + contents.task_range_startdate.ToString("yyyy-MM-dd 00:00:00") + "')" + ", task_range_enddate = datetime('" + contents.task_range_enddate.ToString("yyyy-MM-dd 00:00:00") + "')" + ", task_type = " + contents.task_type + ", alpha_stickies = " + contents.alpha_stickies + " where id = '" + contents.id + "' "; sqliteAccess.update(strSQL); }
private void contentsSaveAndDisplay() { DBManager.Contents.data contents = new DBManager.Contents.data(); // 新規登録 if (bNewEntry) { setToContents(contents); insert(contents); contentsList.Add(contents); } // 更新 else { lock (contentsList) { // 対象のコンテンツ一覧から検索取得 DBManager.Contents.data data = contentsList.SelectId(id); if (data != null) { contents = data; } setToContents(contents); } update(contents); } resetInputFields(); // オーナフォーム(カレンダ)再表示 parentForm.setCalendar(); }
/// <summary> /// 編集領域非活性化(キャンセル、削除、起動直後など) /// </summary> private void resetInputFields() { btnEntry.Enabled = false; Font font = new Font(textBox1.Font, this.Font.Style); textBox1.Font = font; textBox1.Enabled = false; textBox1.Text = ""; selectedData = new DBManager.Contents.data(); ucTimeTrigger.init(); ucRangeTrigger.init(); ucCommandTrigger.init(); ucTimeTrigger.DayDivide = false; cmbDataType.SelectedIndex = -1; cmbDataType.Enabled = false; cbSendStickies.Enabled = false; ucTimeTrigger.Enabled = false; ucRangeTrigger.Enabled = false; ucCommandTrigger.Enabled = false; label5.Visible = false; panel1.Height = 48; textBox1.Top = panel3.Top + panel1.Height; textBox1.Height = panel3.Height - panel1.Height; }
/// <summary> /// 編集領域初期化(新規作成) /// </summary> /// <param name="data"></param> private void initInputFields() { btnEntry.Enabled = true; Font font = new Font(textBox1.Font, this.Font.Style); textBox1.Font = font; textBox1.Enabled = true; cmbDataType.Enabled = true; cbSendStickies.Enabled = true; label5.Visible = false; selectedData = new DBManager.Contents.data(); bNewEntry = true; id = -1; textBox1.Text = ""; cmbDataType.SelectedIndex = 0; cbSendStickies.Checked = false; ucTimeTrigger.init(); ucRangeTrigger.init(); ucCommandTrigger.init(); ucTimeTrigger.DayDivide = false; ucTimeTrigger.TriggerType = 2; ucTimeTrigger.Date = selectedDate; ucRangeTrigger.StartDate = selectedDate; ucRangeTrigger.EndDate = selectedDate; this.ActiveControl = textBox1; }
/// <summary> /// SQL接続(unfinished) /// </summary> private void unfinished(DBManager.Contents.data contents) { string strSQL = "update contents_list set " + "effective = 1" + " where id = '" + contents.id + "' "; sqliteAccess.update(strSQL); }
private void contentsDeleteAndDisplay() { DBManager.Contents.data contents = new DBManager.Contents.data(); lock (contentsList) { // 対象のコンテンツ一覧から検索取得 DBManager.Contents.data data = contentsList.SelectId(id); if (data != null) { contents = data; } } destroy(contents); contentsList.Remove(contents); resetInputFields(); // オーナフォーム(カレンダ)再表示 parentForm.setCalendar(); }
/// <summary> /// 各種データ読込 /// </summary> private void readContentsData() { // SELECT文の作成 string strSQLCheckBox = ""; ArrayList exprList = new ArrayList(); if (cbSchedule.Checked == true) { exprList.Add(0); } if (cbTodo.Checked == true) { exprList.Add(1); } if (cbMemo.Checked == true) { exprList.Add(2); } if (cbSticky.Checked == true) { exprList.Add(3); } if (cbAlarm.Checked == true) { exprList.Add(4); } string strSQL = "select * from contents_list "; strSQL = strSQL + "where data_type in ("; foreach (int type in exprList) { if (strSQLCheckBox.Equals("") == false) { strSQLCheckBox = strSQLCheckBox + ", "; } strSQLCheckBox = strSQLCheckBox + type.ToString(); } strSQL = strSQL + strSQLCheckBox; strSQL = strSQL + ") and"; if (rbComplete.Checked == true) { strSQL = strSQL + " contents like '%" + cmbQueryString.Text + "%'"; } else { ArrayList queryList = new ArrayList(); char[] sep = { ' ' }; string[] query = cmbQueryString.Text.Split(sep); for (int i = 0; i < query.Length; i++) { if (i == 0) { strSQL = strSQL + " ("; } else { if (rbAnd.Checked == true) { strSQL = strSQL + " and"; } else if (rbOr.Checked == true) { strSQL = strSQL + " or"; } } strSQL = strSQL + " contents like '%" + query[i] + "%'"; } strSQL = strSQL + ")"; } SQLiteDataReader result = sqliteAccess.select(strSQL); while (result.Read()) { DBManager.Contents.data data = new DBManager.Contents.data(); data.id = result.GetInt32((Int32)DBManager.Contents.enum_data.id); data.effective = result.GetBoolean((Int32)DBManager.Contents.enum_data.effective); data.data_type = result.GetInt32((Int32)DBManager.Contents.enum_data.data_type); data.date_time = result.GetDateTime((Int32)DBManager.Contents.enum_data.date_time); data.contents = result.GetString((Int32)DBManager.Contents.enum_data.contents); data.show_stickies = result.GetBoolean((Int32)DBManager.Contents.enum_data.show_stickies); data.backcolor_stickies = result.GetString((Int32)DBManager.Contents.enum_data.backcolor_stickies); data.point_stickies = result.GetString((Int32)DBManager.Contents.enum_data.point_stickies); data.time_trigger = result.GetBoolean((Int32)DBManager.Contents.enum_data.time_trigger); data.time_trigger_type = result.GetInt32((Int32)DBManager.Contents.enum_data.time_trigger_type); if (data.time_trigger == true) { data.time_trigger_datetime = result.GetDateTime((Int32)DBManager.Contents.enum_data.time_trigger_datetime); } data.time_trigger_dayofweek = result.GetInt32((Int32)DBManager.Contents.enum_data.time_trigger_dayofweek); data.attach_trigger = result.GetBoolean((Int32)DBManager.Contents.enum_data.attach_trigger); if (data.attach_trigger == true) { data.attach_trigger_title = result.GetString((Int32)DBManager.Contents.enum_data.attach_trigger_title); } data.display_backimage_stickies = result.GetBoolean((Int32)DBManager.Contents.enum_data.display_backimage_stickies); data.display_backimage_type_stickies = result.GetInt32((Int32)DBManager.Contents.enum_data.display_backimage_type_stickies); if (data.display_backimage_stickies == true) { data.display_backimage_path_stickies = result.GetString((Int32)DBManager.Contents.enum_data.display_backimage_path_stickies); } data.display_backimage_region_stickies = result.GetBoolean((Int32)DBManager.Contents.enum_data.display_backimage_region_stickies); data.alpha_stickies = result.GetInt32((Int32)DBManager.Contents.enum_data.alpha_stickies); object objFontSerializeble = result.GetValue((Int32)DBManager.Contents.enum_data.display_font_stickies); if (objFontSerializeble != null) { string fontSerializeble = objFontSerializeble.ToString(); if (!fontSerializeble.Trim().Equals("")) { FontConverter fc = new FontConverter(); data.display_font_stickies = (Font)fc.ConvertFromString(fontSerializeble); } else { data.display_font_stickies = this.Font; } } else { data.display_font_stickies = this.Font; } // データ格納 contentsList.Add(data); // リストビューへデータ移行 string[] queryResult = { (string)dataType[(int)data.data_type] , data.date_time.ToString() , data.contents }; ListViewItem lvi = new ListViewItem(queryResult); lvi.ToolTipText = data.contents; lvi.Tag = data.id.ToString(); listView1.Items.Add(lvi); } // リーダクローズ sqliteAccess.readerClose(); }
/// <summary> /// SQL接続(insert) /// </summary> private void insert(DBManager.Contents.data contents) { string strSQL = "insert into contents_list (" + "data_type" + ", date_time" + ", contents" + ", show_stickies" + ", backcolor_stickies" + ", point_stickies" + ", time_trigger" + ", time_trigger_type" + ", time_trigger_datetime" + ", time_trigger_dayofweek" + ", attach_trigger" + ", attach_trigger_title" + ", display_backimage_stickies" + ", display_backimage_type_stickies" + ", display_backimage_path_stickies" + ", display_backimage_region_stickies" + ", display_font_stickies" + ", task_to_calendar" + ", task_trigger_type" + ", task_trigger_datetime" + ", task_trigger_dayofweek" + ", task_trigger_span" + ", task_range" + ", task_range_startdate" + ", task_range_enddate" + ", task_type" + ", alpha_stickies" + ") values (" + contents.data_type + ", datetime('" + contents.date_time.ToString("yyyy-MM-dd 00:00:00") + "')" + ", '" + contents.contents + "'" + ", " + ((contents.show_stickies == true) ? 1 : 0) + ", '" + contents.backcolor_stickies + "'" + ", '" + contents.point_stickies + "'" + ", " + (contents.time_trigger == true ? 1 : 0) + ", " + contents.time_trigger_type + ", datetime('" + contents.time_trigger_datetime.ToString("yyyy-MM-dd HH:mm:ss") + "')" + ", " + contents.time_trigger_dayofweek + ", " + (contents.attach_trigger == true ? 1 : 0) + ", '" + contents.attach_trigger_title + "'" + ", " + (contents.display_backimage_stickies == true ? 1 : 0) + ", " + contents.display_backimage_type_stickies + ", '" + contents.display_backimage_path_stickies + "'" + ", " + (contents.display_backimage_region_stickies == true ? 1 : 0) + ", ''" + ", " + ((contents.task_to_calendar == true) ? 1 : 0) + ", " + contents.task_trigger_type + ", datetime('" + contents.task_trigger_datetime.ToString("yyyy-MM-dd HH:mm:ss") + "')" + ", " + contents.task_trigger_dayofweek + ", " + contents.task_trigger_span + ", " + ((contents.task_range == true) ? 1 : 0) + ", datetime('" + contents.task_range_startdate.ToString("yyyy-MM-dd 00:00:00") + "')" + ", datetime('" + contents.task_range_enddate.ToString("yyyy-MM-dd 00:00:00") + "')" + ", " + contents.task_type + ", " + contents.alpha_stickies + "" + ")"; contents.id = sqliteAccess.insert(strSQL, "contents_list"); }
/// <summary> /// コンテンツへ保存 /// </summary> /// <param name="contents"></param> private void setToContents(DBManager.Contents.data contents) { contents.data_type = int.Parse(dataType[cmbDataType.SelectedItem.ToString()].ToString()); contents.date_time = selectedDate; contents.contents = textBox1.Text; // 「付箋送り」チェックボックスの制御 if (contents.data_type != 4) { contents.show_stickies = cbSendStickies.Checked; } else { // アラームのときだけカレンダ表示可否のチェックボックスとなる contents.task_to_calendar = cbSendStickies.Checked; } contents.task_trigger_type = ucTimeTrigger.TriggerType; // contents.task_trigger_datetime に設定 contents.task_trigger_dayofweek = ucTimeTrigger.DayOfWeek; DateTime tempDate = ucTimeTrigger.Date; // スケジュールまたはアラームの場合対象日時の正当性チェック&自動再定義 if (contents.data_type == 0 || contents.data_type == 4) { // タスク種別ごとの処理 switch (contents.task_trigger_type) { case 0: // 日付指定 case 1: // 毎時 case 2: // 毎日 case 4: // 毎月 if (contents.task_range == true) { if (tempDate < contents.task_range_startdate) { tempDate = contents.task_range_startdate; } } break; case 3: // 毎週 if (contents.task_range == true) { if (tempDate < contents.task_range_startdate) { tempDate = contents.task_range_startdate; } } while (true) { if ((int)dayOfWeekToNumber[tempDate.DayOfWeek] == contents.task_trigger_dayofweek) { if ((contents.task_range == false && tempDate >= DateTime.Now) || (contents.task_range == true && tempDate >= contents.task_range_startdate)) { break; } } tempDate = tempDate.AddDays(1); } break; } } #if false if (contents.task_trigger_type == 3 && ((contents.task_range == false && tempDate < DateTime.Now) || (contents.task_range == true && tempDate < contents.task_range_startdate))) { while (true) { if ((int)dayOfWeekToNumber[tempDate.DayOfWeek] == contents.task_trigger_dayofweek) { if ((contents.task_range == false && tempDate >= DateTime.Now) || (contents.task_range == true && tempDate >= contents.task_range_startdate)) { break; } } tempDate = tempDate.AddDays(1); } } #endif contents.task_trigger_datetime = DateTime.Parse(tempDate.ToShortDateString() + " " + ucTimeTrigger.Time.ToShortTimeString()); // 指定日時が現在日時より前なら if (contents.task_trigger_datetime.CompareTo(DateTime.Now) <= 0) { contents.task_trigger_datetime.AddDays(7); } contents.temp_task_trigger_datetime = contents.task_trigger_datetime; contents.task_trigger_span = ucTimeTrigger.Span; contents.setNextSpan(); contents.task_range = cbRange.Checked; contents.task_range_startdate = ucRangeTrigger.StartDate; contents.task_range_enddate = ucRangeTrigger.EndDate; contents.task_type = ucCommandTrigger.CommandType; }
/// <summary> /// ダイアログ表示 /// </summary> /// <param name="data"></param> /// <returns></returns> public bool showDialog(ref DBManager.Contents.data data) { stickyData = data; lblFilename.Text = data.display_backimage_path_stickies; lblAlpha.Text = data.alpha_stickies.ToString() + "%"; tbAlpha.Value = data.alpha_stickies; cmbLayout.SelectedIndex = data.display_backimage_type_stickies; string[] rgb = data.backcolor_stickies.Split(','); lblColor.BackColor = Color.FromArgb(int.Parse(rgb[0]), int.Parse(rgb[1]), int.Parse(rgb[2])); cbRegion.Checked = data.display_backimage_region_stickies; cbTimeTrigger.Checked = data.time_trigger; uttTimeTrigger.init(); uttTimeTrigger.DayDivide = true; if (data.time_trigger == true) { uttTimeTrigger.Visible = true; uatAttachTrigger.Visible = false; uatSnapWindow.Visible = false; uttTimeTrigger.TriggerType = stickyData.time_trigger_type; uttTimeTrigger.Date = stickyData.time_trigger_datetime; uttTimeTrigger.Time = stickyData.time_trigger_datetime; uttTimeTrigger.DayOfWeek = stickyData.time_trigger_dayofweek; } else { uttTimeTrigger.TriggerType = 0; uttTimeTrigger.Date = DateTime.Now; uttTimeTrigger.Time = DateTime.Now; uttTimeTrigger.DayOfWeek = 0; } cbAttachTrigger.Checked = data.attach_trigger; if (data.attach_trigger == true) { uttTimeTrigger.Visible = false; uatSnapWindow.Visible = false; uatAttachTrigger.Visible = true; uatAttachTrigger.AttachedTitle = data.attach_trigger_title; } cbSnapWindow.Checked = data.attach_trigger; if (data.attach_trigger == true) { uttTimeTrigger.Visible = false; uatAttachTrigger.Visible = false; uatSnapWindow.Visible = true; uatSnapWindow.AttachedTitle = data.attach_trigger_title; } lblFont.Font = stickyData.display_font_stickies; dayOfWeekToNumber.Add(DayOfWeek.Sunday, 0); dayOfWeekToNumber.Add(DayOfWeek.Monday, 1); dayOfWeekToNumber.Add(DayOfWeek.Tuesday, 2); dayOfWeekToNumber.Add(DayOfWeek.Wednesday, 3); dayOfWeekToNumber.Add(DayOfWeek.Thursday, 4); dayOfWeekToNumber.Add(DayOfWeek.Friday, 5); dayOfWeekToNumber.Add(DayOfWeek.Saturday, 6); this.ShowDialog(); data = stickyData; return(bSave); }