From 4581c5f0441a084f6924b2db8dad8b4cf1be323c Mon Sep 17 00:00:00 2001 From: Neil Date: Sun, 31 Jan 2021 16:34:40 -0600 Subject: [PATCH 1/2] Complete Subtask MVP by adding simple UI for viewing and adding a subtask --- .../Controllers/ProjectTaskController.cs | 26 +++++++++++-- Project.Web/Controllers/SubTaskController.cs | 2 +- .../Models/SubTasks/SubTaskCreateViewModel.cs | 3 +- .../Views/ProjectTask/AddSubTask.cshtml | 10 ++--- .../ProjectTask/CreateProjectTask.cshtml | 4 +- Project.Web/Views/ProjectTask/Index.cshtml | 5 ++- .../Views/ProjectTask/SubTaskIndex.cshtml | 37 +++++++++++++++++++ 7 files changed, 72 insertions(+), 15 deletions(-) create mode 100644 Project.Web/Views/ProjectTask/SubTaskIndex.cshtml diff --git a/Project.Web/Controllers/ProjectTaskController.cs b/Project.Web/Controllers/ProjectTaskController.cs index c05b197..1687e20 100644 --- a/Project.Web/Controllers/ProjectTaskController.cs +++ b/Project.Web/Controllers/ProjectTaskController.cs @@ -56,15 +56,35 @@ public IActionResult AddTask(int projectId) public IActionResult AddSubTask(int taskId) { - // var task = _context.Tasks.Where(x => x.TaskId == taskId).FirstOrDefault(); - var newSubTask = new SubTaskCreateViewModel() { TaskId = taskId }; - return View("CreateSubTask", newSubTask); + return View("AddSubTask", newSubTask); } + + public IActionResult SubTaskIndex(int taskId) + { + var view = new SubTaskIndexViewModel(); + var task = _context.Tasks.Where(x => x.TaskId == taskId).FirstOrDefault(); + + var project = _context.Projects.Where(x => x.Tasks.Contains(task)).FirstOrDefault(); + + view.ProjectName = project.Name; + view.Subtasks = _context.SubTasks.Where(x => x.Task.TaskId == taskId).Select(x=> + new SubtaskListingViewModel() + { + Description = x.Description, + Name = x.Name, + Status = x.Status.Name + } + ); + view.Task = task.Name; + + return View(view); + } + [HttpPost] public async Task AddNewSubTask(SubTaskCreateViewModel model) { diff --git a/Project.Web/Controllers/SubTaskController.cs b/Project.Web/Controllers/SubTaskController.cs index 7972897..76d2e8c 100644 --- a/Project.Web/Controllers/SubTaskController.cs +++ b/Project.Web/Controllers/SubTaskController.cs @@ -22,7 +22,7 @@ public IActionResult Index() return View(); } - public IActionResult Create(int projectId, int taskId) + public IActionResult Create(int taskId) { var subtask = new SubtaskListingViewModel(); diff --git a/Project.Web/Models/SubTasks/SubTaskCreateViewModel.cs b/Project.Web/Models/SubTasks/SubTaskCreateViewModel.cs index 8f8404d..4f374a2 100644 --- a/Project.Web/Models/SubTasks/SubTaskCreateViewModel.cs +++ b/Project.Web/Models/SubTasks/SubTaskCreateViewModel.cs @@ -7,7 +7,8 @@ namespace Project.Web.Models.SubTasks { public class SubTaskCreateViewModel { - public int TaskId { get; internal set; } + public int SubTaskId { get; set; } + public int TaskId { get; set; } public string Name { get; set; } public string Description { get; set; } public int Size { get; set; } diff --git a/Project.Web/Views/ProjectTask/AddSubTask.cshtml b/Project.Web/Views/ProjectTask/AddSubTask.cshtml index 02dcab8..63a79ce 100644 --- a/Project.Web/Views/ProjectTask/AddSubTask.cshtml +++ b/Project.Web/Views/ProjectTask/AddSubTask.cshtml @@ -4,18 +4,16 @@ ViewData["Title"] = "AddSubTask"; } -

AddSubTask

+

Add Subtask

-

SubTaskCreateViewModel


-