public TaskCompletionStatus SetTaskIsCompleted(int taskID, bool value) { TaskCompletionStatus result = new TaskCompletionStatus(false, value); LoginUser loginUser = TSAuthentication.GetLoginUser(); Task task = Tasks.GetTask(loginUser, taskID); task.IsComplete = value; //if a user is attempting to complete a task check for incomplete subtasks first if (value) { if (GetIncompleteSubtasks(taskID)) { result.IncompleteSubtasks = true; result.Value = !value; return(result); } task.DateCompleted = DateTime.UtcNow; result.DateCompleted = task.DateCompleted; } else { result.IncompleteSubtasks = false; result.Value = value; task.DateCompleted = null; } //We are clearing completion comments as they could or not be set in next call. task.CompletionComment = null; task.Collection.Save(); string description = String.Format("{0} set task is complete to {1} ", TSAuthentication.GetUser(loginUser).FirstLastName, value); TaskLogs.AddTaskLog(loginUser, taskID, description); if (task.IsComplete && (loginUser.UserID != task.CreatorID || (task.UserID != null && loginUser.UserID != task.UserID))) { SendCompletedNotification(loginUser.UserID, task.TaskID); } else if (task.UserID != null && loginUser.UserID != task.UserID) { SendModifiedNotification(loginUser.UserID, task.TaskID); } return(result); }
public TaskCompletionStatus AddTaskCompleteComment(int taskID, string comment) { LoginUser loginUser = TSAuthentication.GetLoginUser(); Task task = Tasks.GetTask(loginUser, taskID); task.CompletionComment = comment; task.Collection.Save(); //string description = String.Format(@"{0} added task complete note: ""{1}""", TSAuthentication.GetUser(loginUser).FirstLastName, comment); string description = String.Format(@"{0} added task complete note.", TSAuthentication.GetUser(loginUser).FirstLastName); TaskLogs.AddTaskLog(loginUser, taskID, description); TaskCompletionStatus result = new TaskCompletionStatus(false, true); result.DateCompleted = task.DateCompleted; result.CompletionComment = task.CompletionComment; return(result); }