public void SalvarProdutoPrecoFornecedor(int fornecedorId, ProdutoPreco produtoPreco) { var fornecedor = BuscarPorId(fornecedorId); produtoPreco.Fornecedor = fornecedor ?? throw new Exception("Fornecedor não encontrada!"); var produto = produtoPreco.Produto; foreach (var informacao in produto.Informacoes) { if (produto.Id != 0) { var produtoAtual = _produtoRepositorio.GetById(produto.Id); if (produtoAtual.Informacoes.Count(x => x.Tipo.Equals(informacao.Tipo)) > 0 && informacao.Tipo == 1) { informacao.Id = produtoAtual.Informacoes.FirstOrDefault(x => x.Tipo.Equals(informacao.Tipo)).Id; } } informacao.Produto = produto; } var departamentoProduto = _departamentoProdutoRepositorio.GetById(produto.DepartamentoProduto.Id); produto.CategoriaProduto = departamentoProduto.CategoriaProduto; produto.DepartamentoProduto = departamentoProduto; _produtoRepositorio.Save(produto); _produtoPrecoRepositorio.Save(produtoPreco); if (fornecedor.FornecedorProdutos == null) { fornecedor.FornecedorProdutos = new List <FornecedorProduto>(); } if (fornecedor.FornecedorProdutos.Count(x => x.Produto.Id == produto.Id) <= 0) { fornecedor.FornecedorProdutos.Add(new FornecedorProduto { Produto = produto }); Salvar(fornecedor); } }
public void SalvarProdutoPrecoLoja(int lojaId, ProdutoPreco produtoPreco) { var loja = BuscarPorId(lojaId); produtoPreco.Loja = loja ?? throw new Exception("Loja não encontrada!"); var produto = produtoPreco.Produto; foreach (var informacao in produto.Informacoes) { if (produto.Id != 0) { var produtoAtual = _produtoRepositorio.GetById(produto.Id); if (produtoAtual.Informacoes.Count(x => x.Tipo.Equals(informacao.Tipo)) > 0) { informacao.Id = produtoAtual.Informacoes.FirstOrDefault(x => x.Tipo.Equals(informacao.Tipo)).Id; } } informacao.Produto = produto; } var departamentoProduto = _departamentoProdutoRepositorio.GetById(produto.DepartamentoProduto.Id); produto.CategoriaProduto = departamentoProduto.CategoriaProduto; produto.DepartamentoProduto = departamentoProduto; _produtoRepositorio.Save(produto); _produtoPrecoRepositorio.Save(produtoPreco); if (loja.LojaProdutos == null) { loja.LojaProdutos = new List <LojaProduto>(); } if (loja.LojaProdutos.Count(x => x.Produto.Id == produto.Id) <= 0) { loja.LojaProdutos.Add(new LojaProduto { Produto = produto }); Salvar(loja); } }