Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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));
        }