/** * This function gets UserID and QueryOption and returns the TaskID,TaskName, * Status,ElapsedTime of all the tasks that have the given UserID and that they are * in the state of the given QueryOpiton. */ public List<TaskStatus> getWorkDetails(String userID, QueryOption option) { // 1. Instantiate the connection SqlConnection conn = new SqlConnection(SettingsReader.getConnectionString()); SqlDataReader rdr = null; List<TaskStatus> taskDetailsList = new List<TaskStatus>(); try { // 2. Open the connection conn.Open(); SqlCommand cmd; String statusString = ""; switch (option) { case QueryOption.ActiveTasks: statusString = "ACTIVE"; break; case QueryOption.IdleTasks: statusString = "IDLE"; break; case QueryOption.WaitingTasks: statusString = "WAITING"; break; default: statusString = ""; break; } if (option == QueryOption.AllTasks) { cmd = new SqlCommand("SELECT TaskID,TaskName,Status,ElapsedTime from Task WHERE UserID=\'" + userID + "\'", conn); } else { cmd = new SqlCommand("SELECT TaskID,TaskName,Status,ElapsedTime from Task" + " WHERE UserID=\'" + userID + "\' AND Status=\'" + statusString + "\'", conn); } // get query results rdr = cmd.ExecuteReader(); if (rdr.HasRows) { while (rdr.Read()) { TaskStatus taskDetails = new TaskStatus(rdr["TaskID"].ToString()); taskDetails.setTaskElapsedTime((long)rdr["ElapsedTime"]); taskDetails.setTaskName((String)rdr["TaskName"]); Status statusOfTask = TaskStatus.convertToStatusObj((String)rdr["Status"]); taskDetails.setTaskStatus(statusOfTask); taskDetailsList.Add(taskDetails); } } } finally { // close the reader if (rdr != null) { rdr.Close(); } // 5. Close the connection if (conn != null) { conn.Close(); } } return taskDetailsList; }
public void Test3() { Console.WriteLine("[] Trying to change an existing task ..."); ConfigurationStorageImp ss = new ConfigurationStorageImp(); TaskStatus status = new TaskStatus("92667983-3cb9-4cb7-8b5b-5febb5db9341"); status.setTaskElapsedTime(39); status.setTaskName("snoop"); status.setTaskStatus(Status.Waiting); ss.changeWorkDetails(status); Console.WriteLine(" - PASSED -"); }