Example #1
0
        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
                {
                    var produto = new ConverterCadastroAtualizacaoParaProdutoPedido(dadosParaCadastro)
                                  .ConverterParaProdutoPedido();

                    produto.IdPedido = (uint)idPedido;

                    var idProduto = ProdutosPedidoDAO.Instance.Insert(sessao, produto);
                    sessao.Commit();

                    return(this.Criado(string.Format("Produto cadastrado com sucesso no pedido {0}!", idPedido), idProduto));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao(string.Format("Erro ao inserir o produto no pedido {0}.", idPedido), e));
                }
            }
        }
Example #2
0
        public IHttpActionResult Atualizar(int idPedido, int id, [FromBody] CadastroAtualizacaoDto dadosParaAtualizacao)
        {
            using (var sessao = new GDATransaction())
            {
                Data.Model.ProdutosPedido produto;
                var validacao = this.ValidarOperacaoId(sessao, idPedido, id, out produto);

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

                try
                {
                    sessao.BeginTransaction();

                    produto = new ConverterCadastroAtualizacaoParaProdutoPedido(dadosParaAtualizacao, produto)
                              .ConverterParaProdutoPedido();

                    ProdutosPedidoDAO.Instance.UpdateEAtualizaDataEntrega(sessao, produto);
                    sessao.Commit();

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