public IHttpActionResult Cadastrar(int idPedido, [FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarIdPedido(sessao, idPedido);

                if (validacao != null)
                {
                    return(validacao);
                }

                try
                {
                    sessao.BeginTransaction();

                    var ambiente = new ConverterCadastroAtualizacaoParaAmbientePedido(dadosParaCadastro)
                                   .ConverterParaAmbientePedido();

                    ambiente.IdPedido = (uint)idPedido;

                    var idAmbiente = AmbientePedidoDAO.Instance.Insert(sessao, ambiente);
                    sessao.Commit();

                    return(this.Criado(string.Format("Ambiente cadastrado com sucesso no pedido {0}!", idPedido), idAmbiente));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao(string.Format("Erro ao inserir o ambiente no pedido {0}.", idPedido), e));
                }
            }
        }
        public IHttpActionResult Atualizar(int idPedido, int id, [FromBody] CadastroAtualizacaoDto dadosParaAtualizacao)
        {
            using (var sessao = new GDATransaction())
            {
                AmbientePedido ambiente;
                var            validacao = this.ValidarOperacaoId(sessao, idPedido, id, out ambiente);

                if (validacao != null)
                {
                    return(validacao);
                }

                try
                {
                    sessao.BeginTransaction();

                    ambiente = new ConverterCadastroAtualizacaoParaAmbientePedido(dadosParaAtualizacao, ambiente)
                               .ConverterParaAmbientePedido();

                    AmbientePedidoDAO.Instance.Update(sessao, ambiente);
                    sessao.Commit();

                    return(this.Aceito(string.Format("Ambiente {0} atualizado com sucesso no pedido {1}!", id, idPedido)));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao(string.Format("Erro ao atualizar o ambiente {0} do pedido {1}.", id, idPedido), e));
                }
            }
        }