This commit is contained in:
Ruidy Nemausat 2020-02-09 12:23:48 +01:00
parent 4710f0a551
commit 4a711aa8ef
2 changed files with 17 additions and 8 deletions

View file

@ -25,14 +25,19 @@ namespace TicketManager.Controllers
[HttpGet]
public async Task<ActionResult<IEnumerable<Project>>> 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<ActionResult<Project>> 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<Assignment> 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

View file

@ -60,11 +60,15 @@ namespace TicketManager.Models
{
return this.Assignments.Select(a => a.User).ToList();
}
public List<Assignment> AddMembers(List<User> usersToAdd)
public void AddMembers(List<User> usersToAdd)
{
var projectUsers = new List<Guid>
(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<User> membersToRemove)
{