From 4a711aa8eff10dd2348300e0aff60b93d33e2fc6 Mon Sep 17 00:00:00 2001 From: Ruidy Nemausat Date: Sun, 9 Feb 2020 12:23:48 +0100 Subject: [PATCH] - --- Controllers/ProjectsController.cs | 15 ++++++++++----- Models/Project.cs | 10 +++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Controllers/ProjectsController.cs b/Controllers/ProjectsController.cs index 229c417..6a5f183 100644 --- a/Controllers/ProjectsController.cs +++ b/Controllers/ProjectsController.cs @@ -25,14 +25,19 @@ namespace TicketManager.Controllers [HttpGet] public async Task>> GetProjects() { - return await _context.Projects.ToListAsync(); + return await _context.Projects + .Include(p => p.Assignments) + .ThenInclude(a => a.User) + .ToListAsync(); } // GET: api/Projects/5 [HttpGet("{id}")] public async Task> GetProject(int id) { - var project = await _context.Projects.FindAsync(id); + var project = await _context.Projects + .Include(p => p.Assignments) + .FirstOrDefaultAsync(p => p.Id == id); if (project == null) { return NotFound(); } @@ -102,10 +107,10 @@ namespace TicketManager.Controllers if (project == null) { return NotFound(); } - List assignments = project.AddMembers(usersToAdd); + project.AddMembers(usersToAdd); - foreach (var assignment in assignments) - { _context.Assignments.Add(assignment); } + // foreach (var assignment in assignments) + // { _context.Assignments.Add(assignment); } await _context.SaveChangesAsync(); // try diff --git a/Models/Project.cs b/Models/Project.cs index e5ac974..d5b2a64 100644 --- a/Models/Project.cs +++ b/Models/Project.cs @@ -60,11 +60,15 @@ namespace TicketManager.Models { return this.Assignments.Select(a => a.User).ToList(); } - public List AddMembers(List usersToAdd) + public void AddMembers(List usersToAdd) { + var projectUsers = new List + (this.Assignments.Select(a => a.UserId)); + + foreach (var user in usersToAdd) { - Assignment newAssign = new Assignment() + Assignment newAssign = new Assignment { Project = this, ProjectId = this.Id, @@ -73,7 +77,7 @@ namespace TicketManager.Models }; this.Assignments.Add(newAssign); } - return this.Assignments; + // return this.Assignments; } public void RemoveMembers(List membersToRemove) {