mirror of
https://github.com/rjNemo/ticket_manager
synced 2026-06-06 08:46:39 +00:00
-
This commit is contained in:
parent
4710f0a551
commit
4a711aa8ef
2 changed files with 17 additions and 8 deletions
|
|
@ -25,14 +25,19 @@ namespace TicketManager.Controllers
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult<IEnumerable<Project>>> GetProjects()
|
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
|
// GET: api/Projects/5
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<Project>> GetProject(int 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)
|
if (project == null)
|
||||||
{ return NotFound(); }
|
{ return NotFound(); }
|
||||||
|
|
@ -102,10 +107,10 @@ namespace TicketManager.Controllers
|
||||||
if (project == null)
|
if (project == null)
|
||||||
{ return NotFound(); }
|
{ return NotFound(); }
|
||||||
|
|
||||||
List<Assignment> assignments = project.AddMembers(usersToAdd);
|
project.AddMembers(usersToAdd);
|
||||||
|
|
||||||
foreach (var assignment in assignments)
|
// foreach (var assignment in assignments)
|
||||||
{ _context.Assignments.Add(assignment); }
|
// { _context.Assignments.Add(assignment); }
|
||||||
|
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
// try
|
// try
|
||||||
|
|
|
||||||
|
|
@ -60,11 +60,15 @@ namespace TicketManager.Models
|
||||||
{
|
{
|
||||||
return this.Assignments.Select(a => a.User).ToList();
|
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)
|
foreach (var user in usersToAdd)
|
||||||
{
|
{
|
||||||
Assignment newAssign = new Assignment()
|
Assignment newAssign = new Assignment
|
||||||
{
|
{
|
||||||
Project = this,
|
Project = this,
|
||||||
ProjectId = this.Id,
|
ProjectId = this.Id,
|
||||||
|
|
@ -73,7 +77,7 @@ namespace TicketManager.Models
|
||||||
};
|
};
|
||||||
this.Assignments.Add(newAssign);
|
this.Assignments.Add(newAssign);
|
||||||
}
|
}
|
||||||
return this.Assignments;
|
// return this.Assignments;
|
||||||
}
|
}
|
||||||
public void RemoveMembers(List<User> membersToRemove)
|
public void RemoveMembers(List<User> membersToRemove)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue