public IActionResult Delete(int id)
        {
            try
            {
                // Faz a chamada para o método e armazena em um objeto cartorioBuscado
                Cartorio cartorioBuscado = _cartorioRepository.BuscarPorId(id);

                // Verifica se o cartorio foi encontrado
                if (cartorioBuscado != null)
                {
                    // Faz a chamada para o método
                    _cartorioRepository.Deletar(id);

                    // Retora a resposta da requisição 202 - Accepted
                    return(StatusCode(202));
                }

                // Retorna a resposta da requisição 404 - Not Found com uma mensagem
                return(NotFound("Nenhum cartorio encontrado para o ID informado"));
            }
            catch (Exception error)
            {
                // Retorna a resposta da requisição 400 - Bad Request e o erro ocorrido
                return(BadRequest(error));
            }
        }
        /// <summary>
        /// Cadastra um novo cartorio
        /// </summary>
        /// <param name="novoCartorio">Objeto com as informações de cadastro</param>
        public void Cadastrar(Cartorio novoCartorio)
        {
            // Adiciona um novo cartorio
            ctx.Cartorio.Add(novoCartorio);

            // Salva as informações para serem gravadas no banco
            ctx.SaveChanges();
        }
        public IActionResult Post(Cartorio novoCartorio)
        {
            try
            {
                // Faz a chamada para o método
                _cartorioRepository.Cadastrar(novoCartorio);

                // Retora a resposta da requisição 201 - Created
                return(StatusCode(201));
            }
            catch (Exception error)
            {
                // Retorna a resposta da requisição 400 - Bad Request e o erro ocorrido
                return(BadRequest(error));
            }
        }
        /// <summary>
        /// Busca um cartorio por ID
        /// </summary>
        /// <param name="id">ID do Cartorio será buscado</param>
        /// <returns>Um cartorio buscado</returns>
        public Cartorio BuscarPorId(int id)
        {
            // Busca o primeiro cartorio encontrado para o ID informado e armazena no objeto cartorioBuscado
            Cartorio cartorioBuscado = ctx.Cartorio
                                       // Adiciona na busca as informações do Tipo de Certidão  deste cartorio
                                       .Include(c => c.FkTipoCertidaoNavigation)
                                       .FirstOrDefault(c => c.IdCartorio == id);

            if (cartorioBuscado != null)
            {
                // Retorna o cartorio encontrado
                return(cartorioBuscado);
            }
            // Caso não seja encontrado, retorna nulo
            return(null);
        }
        /// <summary>
        /// Atualiza um cartorio existente
        /// </summary>
        /// <param name="id">ID do cartorio que será atualizado</param>
        /// <param name="cartorioAtualizado">Objeto com as novas informações</param>
        public void Atualizar(int id, Cartorio cartorioAtualizado)
        {
            // Busca um cartorio através do id
            Cartorio cartorioBuscado = ctx.Cartorio.Find(id);

            // Verifica se o cartorio foi encontrado
            if (cartorioBuscado != null)
            {
                // Verifica se foi informado um novo nome para o cartorio
                if (cartorioAtualizado.Nome != null)
                {
                    // Atribui o novo valor ao campo
                    cartorioBuscado.Nome = cartorioAtualizado.Nome;
                }

                // Verifica se foi informada um novo endereco para o cartorio o
                if (cartorioAtualizado.Endereco != null)
                {
                    // Atribui o novo valor ao campo
                    cartorioBuscado.Endereco = cartorioAtualizado.Endereco;
                }


                // Verifica se uma nova certidão foi informada
                if (cartorioAtualizado.FkTipoCertidao > 0)
                {
                    // Atribui o novo valor ao campo
                    cartorioBuscado.FkTipoCertidao = cartorioAtualizado.FkTipoCertidao;
                }

                // Atualiza os dados do cartorio que foi buscado
                ctx.Cartorio.Update(cartorioBuscado);

                // Salva as informações para serem gravadas no banco
                ctx.SaveChanges();
            }
        }