+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using com.andoutomo.kybernetes.data.DAO;\r
-using com.andoutomo.kybernetes.data.connection;\r
-using System.Data.SQLite;\r
-\r
-namespace com.andoutomo.kybernetes.data.accessor\r
-{\r
- class CommentDataAccessor\r
- {\r
- #region singleton\r
- private static CommentDataAccessor accessor;\r
- private CommentDataAccessor()\r
- {\r
- }\r
- internal static CommentDataAccessor getObject\r
- {\r
- get\r
- {\r
- if (accessor == null)\r
- {\r
- accessor = new CommentDataAccessor();\r
- }\r
- return accessor;\r
- }\r
- }\r
- #endregion\r
-\r
- private List<CommentData> getCommentInner(string sql,List<object> paramList)\r
- {\r
- List<CommentData> result = new List<CommentData>();\r
- \r
- \r
-\r
- TaskDBConnection.Connection.selectData(sql, paramList,\r
- (SQLiteDataReader reader) =>\r
- {\r
- while (reader.Read())\r
- {\r
- CommentData data = new CommentData();\r
- data.CommentID = Convert.ToInt32(reader["ID"].ToString());\r
- if (string.IsNullOrEmpty(reader["TASKID"].ToString()))\r
- {\r
- data.TaskID = 0; \r
- }\r
- else\r
- {\r
- data.TaskID = Convert.ToInt32(reader["TASKID"].ToString());\r
- }\r
- \r
- data.CreateDate = Convert.ToDateTime(reader["CREATETIME"].ToString());\r
- data.Comment = reader["COMMENT"].ToString();\r
-\r
- result.Add(data);\r
- }\r
- });\r
- return result;\r
- }\r
-\r
- /// <summary>\r
- /// 対象IDに紐づくコメントを抽出する\r
- /// </summary>\r
- /// <param name="id"></param>\r
- /// <returns></returns>\r
- internal List<CommentData> getComment(int id)\r
- {\r
- List<object> paramList = new List<object>() { id };\r
- return getCommentInner(SqlDictionary.getComments,paramList);\r
- }\r
- /// <summary>\r
- /// メタコメントを抽出する.\r
- /// システム日付と一致するもののみ抽出する。\r
- /// </summary>\r
- /// <returns></returns>\r
- internal List<CommentData> getComment()\r
- {\r
- return getCommentInner(SqlDictionary.getMetaComment, new List<object>());\r
- }\r
-\r
- /// <summary>\r
- /// コメントを入力する\r
- /// </summary>\r
- /// <param name="data"></param>\r
- /// <returns></returns>\r
- internal bool insertComment(CommentData data)\r
- {\r
- List<object> paramList = new List<object>();\r
- paramList.Add(data.TaskID);\r
- paramList.Add(data.Comment);\r
-\r
- return TaskDBConnection.Connection.updateData(SqlDictionary.insertComment, paramList);\r
- }\r
- /// <summary>\r
- /// メタコメントを入力する\r
- /// </summary>\r
- /// <param name="comment"></param>\r
- /// <returns></returns>\r
- internal bool insertMetaComment(string comment)\r
- {\r
- List<object> paramList = new List<object>() { comment };\r
- return TaskDBConnection.Connection.updateData(SqlDictionary.insertMetaComment, paramList);\r
- }\r
-\r
- /// <summary>\r
- /// 紐付きを失ったコメントを全削除します。\r
- /// </summary>\r
- /// <returns></returns>\r
- internal bool deleteCommentWithTask()\r
- {\r
- return TaskDBConnection.Connection.updateData(SqlDictionary.clearZombieComment);\r
- }\r
-\r
- /// <summary>\r
- /// 日付単位のメタコメントを削除します。\r
- /// </summary>\r
- /// <param name="date"></param>\r
- /// <returns></returns>\r
- internal bool deleteDailyComment(DateComponent date)\r
- {\r
- List<object> paramList = new List<object>() { date.getDateString("yyyy-MM-dd") };\r
- return TaskDBConnection.Connection.updateData(SqlDictionary.clearMetaComment,paramList);\r
- }\r
- /// <summary>\r
- /// タスク単位でコメントを削除します。\r
- /// </summary>\r
- /// <param name="taskID"></param>\r
- /// <returns></returns>\r
- internal bool deleteTaskComment(int taskID)\r
- {\r
- List<object> paramList = new List<object>() { taskID };\r
- return TaskDBConnection.Connection.updateData(SqlDictionary.clearTaskComment, paramList);\r
- }\r
- }\r
-}\r