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());
        }