virtual public bool Insert(dataTask task)// insert new task to database according to the dataUser fields { using (var connection = new SQLiteConnection(_connectionString)) { int res = -1; SQLiteCommand command = new SQLiteCommand(null, connection); try { connection.Open(); command.CommandText = $"INSERT INTO {tableName} ({dataTask.taskBoardId}, {dataTask.taskColumn}, {dataTask.taskId},{dataTask.taskTitle},{dataTask.taskDescription}, {dataTask.taskDueDate}, {dataTask.taskCreationTime},{dataTask.taskEmailAssignee}) " + $"VALUES (@boardId,@column,@taskId,@title,@description,@dueDate,@creationTime,@emailAssignee);"; SQLiteParameter titleParam = new SQLiteParameter(@"title", task.title); SQLiteParameter descriptionParam = new SQLiteParameter(@"description", task.description); SQLiteParameter columnParam = new SQLiteParameter(@"column", task.column); SQLiteParameter taskIdParam = new SQLiteParameter(@"taskId", task.id); SQLiteParameter dueDateParam = new SQLiteParameter(@"dueDate", task.dueDate); SQLiteParameter creationTimeParam = new SQLiteParameter(@"creationTime", task.creationTime); SQLiteParameter emailAssigneeParam = new SQLiteParameter(@"emailAssignee", task.emailAssignee); SQLiteParameter boardIdParam = new SQLiteParameter(@"boardId", task.boardId); command.Parameters.Add(emailAssigneeParam); command.Parameters.Add(columnParam); command.Parameters.Add(titleParam); command.Parameters.Add(descriptionParam); command.Parameters.Add(dueDateParam); command.Parameters.Add(creationTimeParam); command.Parameters.Add(taskIdParam); command.Parameters.Add(boardIdParam); command.Prepare(); res = command.ExecuteNonQuery(); } catch { log.Warn("Insert failed"); } finally { command.Dispose(); connection.Close(); } return(res > 0); } }
protected override dal ConvertReaderToObject(SQLiteDataReader reader) // reading the data from database and create a new DataTask Object { dataTask result = new dataTask(Convert.ToInt32(reader.GetValue(0)), Convert.ToInt32(reader.GetValue(1)), Convert.ToInt32(reader.GetValue(2)), reader.GetString(3), reader.GetString(4), (DateTime)reader.GetValue(5), (DateTime)reader.GetValue(6), reader.GetString(7)); return(result); }