public async Task <int> Editar(OrdemCompraVM ordemVM)
        {
            try
            {
                var itemsOrdem = new List <ItemOrdemCompra>();
                foreach (var item in ordemVM.ItemsOrdemCompraVM)
                {
                    Guid idItemOrdemCompra;

                    if (item.Id == Guid.Empty || item.Id == null)
                    {
                        idItemOrdemCompra = Guid.NewGuid();
                    }
                    else
                    {
                        idItemOrdemCompra = item.Id.GetValueOrDefault();
                    }

                    itemsOrdem.Add(new ItemOrdemCompra(idItemOrdemCompra, item.Quantidade, item.Preco, item.SubTotal, item.IdProduto, ordemVM.Id));
                }
                var ordemParaEdicao = new OrdemCompra(ordemVM.Id, ordemVM.DataEntrada, ordemVM.IdFornecedor, itemsOrdem, ordemVM.ValorTotal, Guid.NewGuid());
                return(await _repository.Editar(ordemParaEdicao));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
 public async Task <IActionResult> Editar(OrdemCompraVM ordemCompraVM)
 {
     try
     {
         return(Ok(await _ordemCompraService.Editar(ordemCompraVM)));
     }
     catch (DbUpdateConcurrencyException e)
     {
         return(BadRequest(new Exception(e.Message)));
     }
 }