/// <summary>
        /// Método para editar um objeto AlunoObjetivo
        /// </summary>
        /// <param name="alunoObjetivo">Objeto AlunoObjetivo</param>
        /// <param name="id">Id do AlunoObjetivo</param>
        public void Editar(AlunoObjetivo alunoObjetivo, int id)
        {
            try
            {
                //Usa o método BuscarPorId para verificar a existência do AlunoObjetivo informado
                AlunoObjetivo alunoObjetivoTemp = BuscarPorId(id);

                //Se ela não existir é informado que o AlunoObjetivo não foi encontrado
                if (alunoObjetivoTemp == null)
                {
                    throw new Exception("Objetivo do aluno não encontrado");
                }
                else
                {
                    //Caso contrário salva todas as alterações no objeto alunoObjetivoTemp
                    //Para posteiormente salvá-las no contexto
                    alunoObjetivoTemp.Nota         = alunoObjetivo.Nota;
                    alunoObjetivoTemp.IdAlunoTurma = alunoObjetivo.IdAlunoTurma;
                    alunoObjetivoTemp.IdObjetivo   = alunoObjetivo.IdObjetivo;

                    //Atualiza o AlunoObjetivo com o id informado
                    _ctx.AlunoObjetivo.Update(alunoObjetivoTemp);

                    //Salva as alterações no contexto
                    _ctx.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// Método para remover um AlunoObjetivo
        /// </summary>
        /// <param name="id">Id de AlunoObjetivo</param>
        public void Remover(int id)
        {
            try
            {
                //Usa o método BuscarPorId para verificar a existência do AlunoObjetivo
                AlunoObjetivo alunoObjetivoTemp = BuscarPorId(id);

                //Se ela não existir é informado que a instituição não foi encontrada
                if (alunoObjetivoTemp == null)
                {
                    throw new Exception("Objetivo do aluno não encontrado");
                }
                else
                {
                    //Remove a instituição informada do contexto
                    _ctx.AlunoObjetivo.Remove(alunoObjetivoTemp);

                    //Salva todas as alterações
                    _ctx.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public IActionResult Put(int id, [FromBody] AlunoObjetivo alunoObjetivo)
        {
            try
            {
                _alunoObjetivoRepository.Editar(alunoObjetivo, id);

                return(Ok(alunoObjetivo));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IActionResult Post([FromBody] AlunoObjetivo alunoObjetivo)
        {
            try
            {
                //Adiciona um novo AlunoObjetivo
                _alunoObjetivoRepository.Adicionar(alunoObjetivo);

                //Retorna statusCode 200 - Ok, junto com o AlunoObjetivo cadastrado
                return(Ok(alunoObjetivo));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        /// <summary>
        /// Método para adicionar um novo objetivo para um aluno
        /// </summary>
        /// <param name="alunoObjetivo">Objeto alunoObjetivo</param>
        public void Adicionar(AlunoObjetivo alunoObjetivo)
        {
            try
            {
                // O contexto recebe o objeto inst do método
                _ctx.Add(alunoObjetivo);

                //Salva as alterações no banco de dados Edux
                _ctx.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public IActionResult Delete(int id)
        {
            try
            {
                AlunoObjetivo alunoObjetivo = _alunoObjetivoRepository.BuscarPorId(id);

                if (alunoObjetivo == null)
                {
                    return(NotFound());
                }
                else
                {
                    //Passa o id do AlunoObjetivo que será excluído
                    _alunoObjetivoRepository.Remover(id);

                    return(Ok(alunoObjetivo));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IActionResult Get(int id)
        {
            try
            {
                // Objeto do tipo AlunoObjetivo que recebe um objeto do método BuscarPorId
                AlunoObjetivo alunoObjetivoTemp = _alunoObjetivoRepository.BuscarPorId(id);

                // Se o objeto inst estiver nulo o endpoint retorna NotFound - Não encontrado para o frontend
                if (alunoObjetivoTemp == null)
                {
                    return(NotFound());
                }
                else
                {
                    // Se o objeto for encontrado retorna 200 - Ok, junto com o objeto encontrado
                    return(Ok(alunoObjetivoTemp));
                }
            }
            catch (Exception ex)
            {
                // Se ocorrer alguma exceção retorna a messagem de erro para o frontend
                return(BadRequest(ex.Message));
            }
        }