public async Task <IActionResult> Post(int id, [FromBody] Penalty penalty) { Models.Crew crew = await _context.Crews.Include(x => x.Penalties).FirstAsync(x => x.BroeCrewId == id); Models.Penalty dbPenalty = _mapper.Map <Models.Penalty>(penalty); crew.Penalties.Add(dbPenalty); await _context.SaveChangesAsync(); return(CreatedAtRoute("GetByCrewAndId", new { id = crew.BroeCrewId, penaltyId = dbPenalty.PenaltyId })); }
public async Task <IActionResult> GetByCrewAndId(int id, int penaltyId) { Models.Crew crew = await _context.Crews.FirstOrDefaultAsync(x => x.BroeCrewId == id); if (crew == null) { return(NotFound()); } Models.Penalty penalty = await _context.Penalties.FirstOrDefaultAsync(x => x.PenaltyId == penaltyId); if (penalty == null) { return(NotFound()); } else { return(Ok(_mapper.Map <Penalty>(penalty))); } }
public async Task <IActionResult> DeleteByCrewAndId(int id, int penaltyId) { Models.Crew crew = await _context.Crews.Include(x => x.Penalties).FirstOrDefaultAsync(x => x.BroeCrewId == id); if (crew == null) { return(NotFound()); } Models.Penalty penalty = crew.Penalties.FirstOrDefault(x => x.PenaltyId == penaltyId); if (penalty == null) { return(NotFound()); } _context.Penalties.Remove(penalty); await _context.SaveChangesAsync(); return(NoContent()); }