2 using System.Collections.Generic;
\r
5 using com.andoutomo.kybernetes.data.DAO;
\r
6 using com.andoutomo.kybernetes.data.connection;
\r
7 using System.Data.SQLite;
\r
9 namespace com.andoutomo.kybernetes.data.accessor
\r
11 class CommentDataAccessor
\r
14 private static CommentDataAccessor accessor;
\r
15 private CommentDataAccessor()
\r
18 internal static CommentDataAccessor getObject
\r
22 if (accessor == null)
\r
24 accessor = new CommentDataAccessor();
\r
31 private List<CommentData> getCommentInner(string sql,List<object> paramList)
\r
33 List<CommentData> result = new List<CommentData>();
\r
37 TaskDBConnection.Connection.selectData(sql, paramList,
\r
38 (SQLiteDataReader reader) =>
\r
40 while (reader.Read())
\r
42 CommentData data = new CommentData();
\r
43 data.CommentID = Convert.ToInt32(reader["ID"].ToString());
\r
44 if (string.IsNullOrEmpty(reader["TASKID"].ToString()))
\r
50 data.TaskID = Convert.ToInt32(reader["TASKID"].ToString());
\r
53 data.CreateDate = Convert.ToDateTime(reader["CREATETIME"].ToString());
\r
54 data.Comment = reader["COMMENT"].ToString();
\r
63 /// 対象IDに紐づくコメントを抽出する
\r
65 /// <param name="id"></param>
\r
66 /// <returns></returns>
\r
67 internal List<CommentData> getComment(int id)
\r
69 List<object> paramList = new List<object>() { id };
\r
70 return getCommentInner(SqlDictionary.getComments,paramList);
\r
74 /// システム日付と一致するもののみ抽出する。
\r
76 /// <returns></returns>
\r
77 internal List<CommentData> getComment()
\r
79 return getCommentInner(SqlDictionary.getMetaComment, new List<object>());
\r
85 /// <param name="data"></param>
\r
86 /// <returns></returns>
\r
87 internal bool insertComment(CommentData data)
\r
89 List<object> paramList = new List<object>();
\r
90 paramList.Add(data.TaskID);
\r
91 paramList.Add(data.Comment);
\r
93 return TaskDBConnection.Connection.updateData(SqlDictionary.insertComment, paramList);
\r
98 /// <param name="comment"></param>
\r
99 /// <returns></returns>
\r
100 internal bool insertMetaComment(string comment)
\r
102 List<object> paramList = new List<object>() { comment };
\r
103 return TaskDBConnection.Connection.updateData(SqlDictionary.insertMetaComment, paramList);
\r
107 /// 紐付きを失ったコメントを全削除します。
\r
109 /// <returns></returns>
\r
110 internal bool deleteCommentWithTask()
\r
112 return TaskDBConnection.Connection.updateData(SqlDictionary.clearZombieComment);
\r
116 /// 日付単位のメタコメントを削除します。
\r
118 /// <param name="date"></param>
\r
119 /// <returns></returns>
\r
120 internal bool deleteDailyComment(DateComponent date)
\r
122 List<object> paramList = new List<object>() { date.getDateString("yyyy-MM-dd") };
\r
123 return TaskDBConnection.Connection.updateData(SqlDictionary.clearMetaComment,paramList);
\r
126 /// タスク単位でコメントを削除します。
\r
128 /// <param name="taskID"></param>
\r
129 /// <returns></returns>
\r
130 internal bool deleteTaskComment(int taskID)
\r
132 List<object> paramList = new List<object>() { taskID };
\r
133 return TaskDBConnection.Connection.updateData(SqlDictionary.clearTaskComment, paramList);
\r