private void cmdUpdate_Click(object sender, EventArgs e) { dbHelper = new DatabaseHelper(); if (DataGood()) { if (typeOfAction.Equals("create")) { Task t = new Task(list.ID, txtName.Text, txtDescription.Text, monthCalendar1.SelectionStart, DateTime.MinValue); dbHelper.CreateTask(t); this.DialogResult = System.Windows.Forms.DialogResult.OK; } else if (typeOfAction.Equals("update")) { //task = new Task(txtName.Text, txtDescription.Text, monthCalendar1.SelectionStart); task.Name = txtName.Text; task.Description = txtDescription.Text; task.DueDate = monthCalendar1.SelectionStart; dbHelper.UpdateTask(task); } this.Close(); } else { this.DialogResult = System.Windows.Forms.DialogResult.Retry; } }
//constructor called when modifying task coming in public TaskForm(Task task) { InitializeComponent(); this.task = task; lblTaskName.Text = "Update Task"; typeOfAction = "update"; txtName.Text = task.Name; txtDescription.Text = task.Description; monthCalendar1.SelectionStart = task.DueDate; }
public void CreateTask(Task task) { createCommand(); if (task.ID == -1) { task.ID = GetTaskCount(); } try { string sql = "INSERT INTO [Task] ([id], [listID], [name], [description], [due], [completed]) VALUES(@id, @listID, @name, @description, @due, @completed)"; _cmd.CommandText = sql; _cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = task.ID; _cmd.Parameters.Add("@listID", System.Data.SqlDbType.Int).Value = task.ListID; _cmd.Parameters.Add("@name", System.Data.SqlDbType.VarChar).Value = task.Name; _cmd.Parameters.Add("@description", System.Data.SqlDbType.VarChar).Value = task.Description; _cmd.Parameters.Add("@due", System.Data.SqlDbType.DateTime).Value = task.DueDate; _cmd.Parameters.Add("@completed", System.Data.SqlDbType.DateTime); if (task.IsCompleted()) { _cmd.Parameters["@completed"].Value = task.Completed; } else { _cmd.Parameters["@completed"].Value = DBNull.Value; } _conn.Open(); _cmd.ExecuteNonQuery(); _conn.Close(); } catch (SqlException ex) { Console.WriteLine(ex.Message); } }
public void UpdateTask(Task task) { createCommand(); string sql = "UPDATE Task SET [name] = @name, [description] = @description, [due] = @due, [completed] = @completed, [listID] = @listID WHERE [id] = @id"; _cmd.CommandText = sql; _cmd.Parameters.Add("@name", System.Data.SqlDbType.VarChar).Value = task.Name; _cmd.Parameters.Add("@description", System.Data.SqlDbType.VarChar).Value = task.Description; _cmd.Parameters.Add("@due", System.Data.SqlDbType.DateTime).Value = task.DueDate; _cmd.Parameters.Add("@completed", System.Data.SqlDbType.DateTime); _cmd.Parameters.Add("@listID", System.Data.SqlDbType.Int).Value = task.ListID; _cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = task.ID; if (task.IsCompleted()) { _cmd.Parameters["@completed"].Value = task.Completed; } else { _cmd.Parameters["@completed"].Value = DBNull.Value; } _conn.Open(); _cmd.ExecuteNonQuery(); _conn.Close(); }
public List<Task> GetTasksForList(int ListID) { createCommand(); List<Task> tasks = new List<Task>(); string sql = "SELECT * FROM [Task] INNER JOIN [List] ON [Task].[listID] = [List].[id] WHERE [List].[id] = @listID"; _cmd.CommandText = sql; _cmd.Parameters.Add("@listID", System.Data.SqlDbType.Int).Value = ListID; _conn.Open(); SqlDataReader dr = _cmd.ExecuteReader(); if (dr.HasRows) { while(dr.Read()) { int ID = Convert.ToInt32(dr["id"]); int listID = Convert.ToInt32(dr["listID"]); string name = dr["name"].ToString(); string description = dr["description"].ToString(); DateTime due = Convert.ToDateTime(dr["due"]); DateTime completed = DateTime.MinValue; //Yes this sucks, but it wants an ordinal :( if (!dr.IsDBNull(5)) { completed = Convert.ToDateTime(dr["completed"]); } Task task = new Task(listID, name, description, due, completed); task.ID = ID; tasks.Add(task); } } dr.Close(); _conn.Close(); return tasks; }
public void DeleteTask(Task task) { createCommand(); string sql = "DELETE FROM [Task] WHERE [id] = @id"; _cmd.CommandText = sql; _cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = task.ID; _conn.Open(); _cmd.ExecuteNonQuery(); _conn.Close(); }