2 using System.Collections.Generic;
\r
3 using System.Drawing;
\r
5 using System.Windows.Forms;
\r
6 using com.andoutomo.kybernetes.data.DAO;
\r
7 using com.andoutomo.kybernetes.data.connection;
\r
10 namespace com.andoutomo.kybernetes.view
\r
12 public partial class CategorySetting : Form
\r
14 public CategorySetting()
\r
16 InitializeComponent();
\r
19 private Color frColor;
\r
20 private Color bgColor;
\r
21 private int categId;
\r
24 /// ダイアログを閉じると同時に、データを反映します。
\r
26 /// <param name="sender"></param>
\r
27 /// <param name="e"></param>
\r
28 private void btnClose_Click(object sender, EventArgs e)
\r
30 List<MultiSQLRunnningBean> sqlList = new List<MultiSQLRunnningBean>();
\r
31 sqlList.Add(new MultiSQLRunnningBean(SqlDictionary.clearCategory,new List<object>()));
\r
32 foreach (CategoryData innerData in innerCategList)
\r
35 List<object> argList = new List<object>();
\r
36 argList.Add(innerData.CategId);
\r
37 argList.Add(innerData.Category);
\r
38 argList.Add(innerData.FRColor);
\r
39 argList.Add(innerData.BGColor);
\r
40 sqlList.Add(new MultiSQLRunnningBean(SqlDictionary.insertCategory, argList));
\r
43 TaskDBConnection.Connection.updateData(sqlList);
\r
49 private void btnSetFR_Click(object sender, EventArgs e)
\r
51 DialogResult result = FrColorDialog.ShowDialog();
\r
52 frColor = FrColorDialog.Color;
\r
53 lblSample.ForeColor = frColor;
\r
56 private void btnSetBG_Click(object sender, EventArgs e)
\r
58 //DialogResult result = BgColorDialog.ShowDialog();
\r
59 //bgColor = BgColorDialog.Color;
\r
60 //lblSample.BackColor = bgColor;
\r
61 bgColor = Color.Black;
\r
62 lblSample.BackColor = Color.Black;
\r
65 private List<CategoryData> innerCategList;
\r
68 /// 外部(あるいは内部)から、リストを設定します。
\r
70 /// <param name="categList"></param>
\r
71 public void setCategoryList(List<CategoryData> categList)
\r
73 this.CateglistBox.Items.Clear();
\r
74 innerCategList = categList;
\r
75 foreach(CategoryData data in categList){
\r
76 this.CateglistBox.Items.Add(data.dataForDropDown.Val);
\r
80 /// カテゴリリストの選択を制御します。
\r
82 /// <param name="sender"></param>
\r
83 /// <param name="e"></param>
\r
84 private void CateglistBox_SelectedIndexChanged(object sender, EventArgs e)
\r
86 if (CateglistBox.SelectedItem == null) return;
\r
88 var rawdata = from data in innerCategList where data.Category == CateglistBox.SelectedItem.ToString() select data;
\r
90 foreach (CategoryData innerData in rawdata)
\r
92 this.txtCategName.Text = innerData.Category;
\r
93 this.frColor = innerData.FRColorObject;
\r
94 this.bgColor = innerData.BGColorObject;
\r
95 this.categId = innerData.CategId;
\r
97 lblSample.ForeColor = frColor;
\r
98 //lblSample.BackColor = bgColor;
\r
105 /// <param name="sender"></param>
\r
106 /// <param name="e"></param>
\r
107 private void btnAdd_Click(object sender, EventArgs e)
\r
109 if (this.txtCategName.Text == string.Empty) return;
\r
111 var rawdata = from data in innerCategList where data.Category == this.txtCategName.Text select data;
\r
113 foreach (CategoryData dummy in rawdata)
\r
115 //既にデータがある場合は何もせず終了
\r
119 CategoryData insertData = new CategoryData();
\r
120 insertData.Category = this.txtCategName.Text;
\r
121 insertData.FRColor = this.frColor.ToArgb();
\r
122 //insertData.BGColor = this.bgColor.ToArgb();
\r
126 if (CateglistBox.Items.Count > 0)
\r
128 nextid = (from data in innerCategList select data.CategId).Max();
\r
131 insertData.CategId = ((int)nextid) + 1;
\r
132 innerCategList.Add(insertData);
\r
133 setCategoryList(innerCategList);
\r
135 txtCategName.Clear();
\r
141 /// <param name="sender"></param>
\r
142 /// <param name="e"></param>
\r
143 private void btnApply_Click(object sender, EventArgs e)
\r
145 if (string.IsNullOrEmpty(this.txtCategName.Text))
\r
147 if (this.categId == 0) { return; }
\r
149 var rawdata = from data in innerCategList where data.CategId == this.categId select data;
\r
150 foreach (CategoryData updData in rawdata)
\r
152 if (string.IsNullOrEmpty(this.txtCategName.Text))
\r
154 innerCategList.Remove(updData);
\r
159 updData.Category = this.txtCategName.Text;
\r
160 updData.FRColor = this.frColor.ToArgb();
\r
161 // updData.BGColor = this.bgColor.ToArgb();
\r
164 setCategoryList(innerCategList);
\r