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)); } } }
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)); } } }