public async Task <ActionResult <Aluno_DisciplinaDTO> > PostAluno_Disciplina(Aluno_DisciplinaDTO aluno_DisciplinaDTO)
        {
            if (!_context.Aluno.Any(x => x.RA == aluno_DisciplinaDTO.Aluno))
            {
                return(NotFound());
            }
            else if (!_context.Disciplinas.Any(x => x.Id == aluno_DisciplinaDTO.Disciplina))
            {
                return(NotFound());
            }

            var aluno_Disciplina = new Aluno_Disciplina
            {
                Disciplina = _context.Disciplinas
                             .Include(p => p.Professor)
                             .Where(d => d.Id == aluno_DisciplinaDTO.Disciplina)
                             .First(),
                Aluno = _context.Aluno.Find(aluno_DisciplinaDTO.Aluno)
            };

            _context.Aluno_Disciplina.Add(aluno_Disciplina);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAluno_Disciplina", new { id = aluno_Disciplina.Id }, aluno_Disciplina));
        }
        public async Task <IActionResult> PutAluno_Disciplina(int id, Aluno_DisciplinaDTO aluno_DisciplinaDTO)
        {
            var aluno_Disciplina = await _context.Aluno_Disciplina.FindAsync(id);

            if (aluno_Disciplina == null)
            {
                return(NotFound());
            }
            else if (!_context.Aluno.Any(x => x.RA == aluno_DisciplinaDTO.Aluno))
            {
                return(NotFound());
            }
            else if (!_context.Disciplinas.Any(x => x.Id == aluno_DisciplinaDTO.Disciplina))
            {
                return(NotFound());
            }

            aluno_Disciplina.Aluno      = _context.Aluno.Find(aluno_DisciplinaDTO.Aluno);
            aluno_Disciplina.Disciplina = _context.Disciplinas.Find(aluno_DisciplinaDTO.Disciplina);

            _context.Entry(aluno_Disciplina).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!Aluno_DisciplinaExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }