private void AtualizarProduto(ProdutoCadastroVm produtoCadastroVm) { Produto produto = _produtosConsultados.SingleOrDefault(x => x.Codigo == produtoCadastroVm.Codigo); if (produto != null) { produto.Atualizar(produtoCadastroVm.Descricao, produtoCadastroVm.Tipo); } else { produto = new Produto(produtoCadastroVm.Codigo, produtoCadastroVm.Descricao, produtoCadastroVm.Tipo); } _produtos.Save(produto); }
public void AtualizarFornecedoresDoProduto(string codigoProduto, string[] codigoDosFornecedores) { try { _unitOfWork.BeginTransaction(); Produto produto = _produtos.BuscaPeloCodigo(codigoProduto); //para carregar apenas os fornecedores que ainda não estão associados ao produto, remove do array os que já estão associados string[] codigoDosFornecedoresParaCarregar = codigoDosFornecedores.Except(produto.Fornecedores.Select(x => x.Codigo)).ToArray(); IList <Fornecedor> fornecedoresParaAdicionar = _fornecedores.BuscaListaPorCodigo(codigoDosFornecedoresParaCarregar).List(); produto.AdicionarFornecedores(fornecedoresParaAdicionar); _produtos.Save(produto); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }