public async Task <IActionResult> DeleteTaskFromList(int id, int taskId) { if (await db.TaskLists.FindAsync(id) == null) { return(NotFound("Task list with this id don't exist")); } TaskListTask find = new TaskListTask(); foreach (var taskListTask in db.TasksListTasks) { if ((taskListTask.TaskId == taskId) && (taskListTask.TaskListId == id)) { find = taskListTask; break; } } if (find.TaskList == null) { return(NotFound("This relationship doesn't exist")); } db.TasksListTasks.Remove(find); await db.SaveChangesAsync(); return(NoContent()); }
public Task <PhysicalResponse> Handle(FormType formType, string formKey, GraphNode <Key, FormNode> node) { node.AssertType <TaskListFormNode>(); var taskRouters = node.Neighbors.Where(GraphNodePredicates.IsTaskRouterNode); var tasks = new List <TaskListTask>(); foreach (var taskRouter in taskRouters) { var taskNode = taskRouter.AssertType <TaskRouterFormNode>(); var staticTask = _staticFormProvider.GetTask(formType, StaticKey.ForTaskNode(taskNode.TaskId)); var taskListTask = new TaskListTask { Name = staticTask.Name, TaskRouterNodeKey = taskRouter.Key.Value, TaskId = staticTask.Id, GroupNameIndex = staticTask.GroupNameIndex, IsComplete = IsTaskComplete(taskRouter), }; tasks.Add(taskListTask); } var isTaskCompleteList = tasks.Select(x => (x.TaskId, x.IsComplete)).ToList(); foreach (var task in tasks) { var staticTask = _staticFormProvider.GetTask(formType, StaticKey.ForTaskNode(task.TaskId)); task.IsHidden = staticTask.HiddenWhen?.Invoke(isTaskCompleteList) ?? false; } return(Task.FromResult(new TaskListResponse { FormName = _staticFormProvider.GetFormName(formType), Tasks = tasks, TaskGroupNames = _staticFormProvider.GetTaskGroups(formType) } as PhysicalResponse)); }