private void InitUpdateRows() { selectedTaskID = DataHandling.GetTaskID(selectedTask.taskName, selectedTask.details); noOfUpdates = DataHandling.GetTaskUpdates(selectedTaskID); for (int i = 0; i < noOfUpdates; i++) { RowDefinition updateRow = new RowDefinition(); updateRow.Height = new GridLength(100, GridUnitType.Auto); TaskDetailsGrid.RowDefinitions.Add(updateRow); string updateHeaderString = DataStructures.updateRows[i].updatedBy + " at " + DataStructures.updateRows[i].updateTimeDate.ToString("HH:mm dd/MM/yyyy") + ": "; string updateContentString = DataStructures.updateRows[i].updateDetails; TextBlock updateHeaderTextBlock = new TextBlock(); updateHeaderTextBlock.Text = updateHeaderString; updateHeaderTextBlock.Foreground = (SolidColorBrush) new BrushConverter().ConvertFrom("#FFFF4F5A"); updateHeaderTextBlock.Margin = new Thickness(0, 10, 0, 10); updateHeaderTextBlock.FontSize = 12; TextBlock updateContentTextBlock = new TextBlock(); updateContentTextBlock.Text = updateContentString; updateContentTextBlock.Foreground = (SolidColorBrush) new BrushConverter().ConvertFrom("#FF51545D"); updateContentTextBlock.Margin = new Thickness(20, 30, 20, 10); updateContentTextBlock.FontSize = 14; updateContentTextBlock.TextWrapping = TextWrapping.Wrap; Rectangle divider = new Rectangle(); divider.Width = 470; divider.Height = 1; divider.Fill = (SolidColorBrush) new BrushConverter().ConvertFrom("#FF51545D"); divider.Stroke = (SolidColorBrush) new BrushConverter().ConvertFrom("#FF51545D"); divider.Margin = new Thickness(20, 0, 0, 0); divider.VerticalAlignment = VerticalAlignment.Top; divider.HorizontalAlignment = HorizontalAlignment.Left; Grid.SetRow(divider, i + 1); Grid.SetRow(updateHeaderTextBlock, i + 1); Grid.SetRow(updateContentTextBlock, i + 1); TaskDetailsGrid.Children.Add(divider); TaskDetailsGrid.Children.Add(updateHeaderTextBlock); TaskDetailsGrid.Children.Add(updateContentTextBlock); } }
private void EditTaskButtonClick(object sender, RoutedEventArgs e) { int taskID = DataHandling.GetTaskID(selectedTask.taskName, selectedTask.details); int assignedToUserIndex = Properties.Settings.Default.UsersStringCollection.IndexOf(AssignToComboBox.SelectedItem.ToString()); assignedUsername = Properties.Settings.Default.UsernamesStringCollection[assignedToUserIndex]; if (selectedTask.taskFiles == null) { selectedTask.taskFiles = new List <string>(); } string[] taskFilesArray = selectedTask.taskFiles.ToArray(); string taskFilesString = string.Join(",", taskFilesArray); if (selectedTask.notifyUsers.Contains(assignedUsername) != true) { selectedTask.notifyUsers.Add(assignedUsername); } DataHandling.UpdateTask(taskID, TaskNameTextBox.Text, StartDatePicker.SelectedDate.Value, DeadlinePicker.SelectedDate.Value, TaskDetailsTextBox.Text, selectedTask.taskListFileTableDir, selectedTask.assignedBy, assignedUsername, StatusComboBox.Text, taskFilesString, selectedTask.notifyUsers); string updateString = GetUpdatedFields(); DataHandling.AddTaskUpdate(taskID, updateString); DataStructures.NotificationStruct notificationStruct = new DataStructures.NotificationStruct(); notificationStruct.notificationSender = Application.Current.Properties["username"].ToString(); notificationStruct.notificationText = "[" + selectedTask.taskName + "]: " + updateString; notificationStruct.taskID = taskID; notificationStruct.notificationTime = DateTime.Now; notificationStruct.notificationRecipients = selectedTask.notifyUsers; DataHandling.AddNotification(notificationStruct); DataHandling.GetTasksFull(); Close(); }
private void CreateTaskButtonClick(object sender, RoutedEventArgs e) { int assignedToUserIndex = Properties.Settings.Default.UsersStringCollection.IndexOf(AssignToComboBox.Text); string assignedUsername = Properties.Settings.Default.UsernamesStringCollection[assignedToUserIndex]; newTask.taskName = TaskNameTextBox.Text; newTask.startDate = StartDatePicker.SelectedDate.Value; newTask.deadline = DeadlinePicker.SelectedDate.Value; newTask.details = TaskDetailsTextBox.Text; newTask.taskListFileTableDir = TaskNameTextBox.Text; newTask.assignedBy = System.Windows.Application.Current.Properties["username"].ToString(); newTask.assignedTo = assignedUsername; newTask.taskStatus = StatusComboBox.SelectedValue.ToString(); newTask.lastEdited = DateTime.Now; newTask.taskFiles = new List <string>(); newTask.notifyUsers = new List <string>(); string[] taskFilesArray = newTask.taskFiles.ToArray(); string taskFilesString = string.Join(",", taskFilesArray); string[] notifyUsersArray = new string[0]; notifyUsersArray.Append(newTask.assignedBy); notifyUsersArray.Append(newTask.assignedTo); string notifyUsersString = string.Join(",", notifyUsersArray); using (SqlConnection sqlConn = new SqlConnection(Properties.Settings.Default.PDMDatabaseConnectionString)) { SqlCommand createTask = new SqlCommand("CreateTaskSP", sqlConn); createTask.CommandType = CommandType.StoredProcedure; createTask.Parameters.AddWithValue("@taskname", newTask.taskName); createTask.Parameters.AddWithValue("@startdate", newTask.startDate); createTask.Parameters.AddWithValue("@deadline", newTask.deadline); createTask.Parameters.AddWithValue("@details", newTask.details); createTask.Parameters.AddWithValue("@tasklistfiletabledir", newTask.taskListFileTableDir); createTask.Parameters.AddWithValue("@assignedby", newTask.assignedBy); createTask.Parameters.AddWithValue("@assignedto", newTask.assignedTo); createTask.Parameters.AddWithValue("@taskstatus", newTask.taskStatus); createTask.Parameters.AddWithValue("@lastedited", newTask.lastEdited); createTask.Parameters.AddWithValue("@taskFiles", taskFilesString); createTask.Parameters.AddWithValue("@notifyUsers", notifyUsersString); sqlConn.Open(); int i = createTask.ExecuteNonQuery(); string sqlQuery = "INSERT INTO dbo.TaskListFiles (name,is_directory,is_archive) VALUES ('" + TaskNameTextBox.Text + "', 1, 0);"; SqlCommand createFileTableDirComm = new SqlCommand(sqlQuery, sqlConn); createFileTableDirComm.CommandType = CommandType.Text; createFileTableDirComm.ExecuteNonQuery(); Directory.SetCurrentDirectory(Properties.Settings.Default.FileDirectory); Directory.CreateDirectory(TaskNameTextBox.Text); } DataHandling.GetTasksFull(); int newTaskID = DataHandling.GetTaskID(newTask.taskName, newTask.details); DataStructures.NotificationStruct notificationStruct = new DataStructures.NotificationStruct(); notificationStruct.notificationSender = Application.Current.Properties["username"].ToString(); notificationStruct.notificationText = "Created Task: " + newTask.taskName; notificationStruct.taskID = newTaskID; notificationStruct.notificationTime = DateTime.Now; notificationStruct.notificationRecipients = new List <string>(); notificationStruct.notificationRecipients.Add(newTask.assignedTo); notificationStruct.notificationRecipients.Add(newTask.assignedBy); DataHandling.AddNotification(notificationStruct); string taskFilesUpdateString = DataHandling.AddTaskFiles(newTask, selectFiles); if (taskFilesUpdateString.Equals("Added File(s): ") == false) { DataHandling.AddTaskUpdate(newTaskID, taskFilesUpdateString); DataHandling.GetTasksFull(); } Close(); }