public async Task <ActionResult <EstudianteDTO> > Create([FromBody] EstudianteDTO EstudianteDto)
        {
            // verificar que el campo nombre no venga nulo -> BadRequest
            if (EstudianteDto.Nombre == String.Empty || EstudianteDto.Nombre == null)
            {
                return(BadRequest("Por favor ingrese un nombre"));
            }

            if (EstudianteDto.Id == default(int))
            {
                return(BadRequest("Por favor ingrese un identificador"));
            }

            //verificar que el curso que quiere matricularse el estudiante, exista
            // si no existe, retornar NotFound
            var Curso = await _dbContext.Cursos.FirstOrDefaultAsync(c => c.Id == EstudianteDto.CursoId);

            if (Curso == null)
            {
                return(NotFound("El curso no existe"));
            }

            // verificar que el estudiante no exista en la base
            // si existe, retortar conflicto
            var Estudiante = await _dbContext.Estudiantes.FirstOrDefaultAsync(e => e.Id == EstudianteDto.Id);

            if (Estudiante != null)
            {
                return(NotFound("El identificador del estudiante ya existe"));
            }

            // convertir los datos de DTO a Model
            var nuevoEstudiante = new Estudiante {
                Id      = EstudianteDto.Id,
                Nombre  = EstudianteDto.Nombre,
                CursoId = EstudianteDto.CursoId,
            };

            // agregar el estudiante a la base de datos
            _dbContext.Estudiantes.Add(nuevoEstudiante);
            // guardar los cambios
            await _dbContext.SaveChangesAsync();

            // retornar el estudiante DTO con los datos actualizados (updatedEstudianteDto)
            var estudianteConIdentificador = await _dbContext.Estudiantes.FirstOrDefaultAsync(e => e.Id == EstudianteDto.Id);

            if (estudianteConIdentificador == null)
            {
                return(NotFound());
            }

            return(Ok(estudianteConIdentificador.ToDTO()));
        }
        public async Task <ActionResult <EstudianteDTO> > Create([FromBody] EstudianteDTO EstudianteDto)
        {
            // verificar que el campo nombre no venga nulo -> BadRequest

            //verificar que el curso que quiere matricularse el estudiante, exista
            // si no existe, retornar NotFound

            // verificar que el estudiante no exista en la base
            // si existe, retortar conflicto

            // convertir los datos de DTO a Model
            // agregar el estudiante a la base de datos
            // guardar los cambios
            await _dbContext.SaveChangesAsync();

            // retornar el estudiante DTO con los datos actualizados (updatedEstudianteDto)
            var updatedEstudianteDto = new EstudianteDTO();

            return(CreatedAtAction(nameof(Get), new { id = EstudianteDto.Id }, updatedEstudianteDto));
        }