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);
            }
        }
Exemple #2
0
        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);
            }
        }