Exemplo n.º 1
0
        public IHttpActionResult CadastrarPedido([FromBody] Models.Pedidos.V1.CadastroAtualizacao.CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarCadastroPedido(sessao, dadosParaCadastro);

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

                try
                {
                    sessao.BeginTransaction();

                    var pedido = new ConverterCadastroAtualizacaoParaPedido(dadosParaCadastro)
                                 .ConverterParaPedido();

                    var idPedido = PedidoDAO.Instance.Insert(sessao, pedido);
                    sessao.Commit();

                    return(this.Criado(string.Format("Pedido {0} inserido com sucesso!", idPedido), idPedido));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Erro ao inserir o pedido.", e));
                }
            }
        }
Exemplo n.º 2
0
        public IHttpActionResult AtualizarPedido(int id, [FromBody] CadastroAtualizacaoDto dadosParaAtualizacao)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarAtualizacaoPedido(sessao, id, dadosParaAtualizacao);

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

                var pedido = PedidoDAO.Instance.GetElementByPrimaryKey(sessao, id);

                if (pedido == null)
                {
                    return(this.NaoEncontrado(string.Format("Pedido {0} não encontrado.", id)));
                }

                try
                {
                    sessao.BeginTransaction();

                    pedido = new ConverterCadastroAtualizacaoParaPedido(dadosParaAtualizacao, pedido)
                             .ConverterParaPedido();

                    PedidoDAO.Instance.Update(pedido);

                    sessao.Commit();

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