public ActionResult <CompraDTO> Post([FromBody] CompraDTO compra) { var comp = new CompraEntity() { APROVADO = null, DATA_SOLICITACAO = compra.DATA_SOLICITACAO, DESCRICAO = compra.DESCRICAO, FINALIZADO = false, TITULO = compra.TITULO, COD_USUARIO = compra.USUARIO.COD_USUARIO, COD_STATUS = 1, COD_CATEGORIA = compra.CATEGORIA.COD_CATEGORIA }; comp.TITULO = comp.TITULO.Trim(' '); if (string.IsNullOrEmpty(comp.TITULO)) { return(BadRequest("Por Favor preencha um título válido")); } var newComp = _compraRepository.Add(comp); compra.COD_COMPRA = newComp.COD_COMPRA; for (int i = 0; i < compra.ORCAMENTO.Count; i++) { compra.ORCAMENTO.ToArray()[i].COD_COMPRA = compra.COD_COMPRA; _orcamentoRepository.Add(compra.ORCAMENTO.ToArray()[i]); } return(Ok(comp)); }
public void Salvar(Compra compra) { foreach (var compraItem in compra.Itens) { _compraItemDomainService.ValidarProdutoExistente(compraItem); } // Para usar BeginTransation teria que implementar uma padrão Unit of Work e deixar disponível aki // A Application, que deve gerenciar a Transation try { // BeginTransation _compraRepository.Add(compra); foreach (var compraItem in compra.Itens) { _compraItemRepository.Add(compraItem); } // Commit } catch { // RollBack throw; } }