/// <summary> /// Atualiza os dados de um produto na loja /// </summary> /// <param name="produtoLoja"></param> public void Atualizar(ProdutoLoja produtoLoja) { DbTransaction transaction = null; try { if (saceContext.Connection.State == System.Data.ConnectionState.Closed) { saceContext.Connection.Open(); } transaction = saceContext.Connection.BeginTransaction(); ProdutoLojaE _produtoLojaE = repProdutoLoja.ObterEntidade(pl => pl.codProduto == produtoLoja.CodProduto && pl.codLoja == produtoLoja.CodLoja); _produtoLojaE.estoqueMaximo = produtoLoja.EstoqueMaximo; _produtoLojaE.localizacao = produtoLoja.Localizacao; _produtoLojaE.localizacao2 = produtoLoja.Localizacao2; _produtoLojaE.qtdEstoque = produtoLoja.QtdEstoque; _produtoLojaE.qtdEstoqueAux = produtoLoja.QtdEstoqueAux; repProdutoLoja.SaveChanges(); AtualizarEstoqueEntradasProduto(produtoLoja.CodProduto); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new DadosException("Produto", e.Message, e); } finally { saceContext.Connection.Close(); } }
/// <summary> /// Atualiza os dados de um produto na loja /// </summary> /// <param name="produtoLoja"></param> public void Atualizar(ProdutoLoja produtoLoja) { DbTransaction transaction = null; try { if (saceContext.Connection.State == System.Data.ConnectionState.Closed) { saceContext.Connection.Open(); } transaction = saceContext.Connection.BeginTransaction(); ProdutoLojaE _produtoLojaE = repProdutoLoja.ObterEntidade(pl => pl.codProduto == produtoLoja.CodProduto && pl.codLoja == produtoLoja.CodLoja); //if ((produtoLoja.QtdEstoque < _produtoLojaE.qtdEstoque) && // (_produtoLojaE.qtdEstoque < 5000)) //{ // throw new NegocioException("Ajuste de estoque não permitido. Por favor utilize o formulário de Pré-Venda, adicione os produtos e selecione o cliente BAIXA ESTOQUE POR PERDA ROUBO OU DANO"); //} _produtoLojaE.estoqueMaximo = produtoLoja.EstoqueMaximo; _produtoLojaE.localizacao = produtoLoja.Localizacao; _produtoLojaE.localizacao2 = produtoLoja.Localizacao2; _produtoLojaE.qtdEstoque = produtoLoja.QtdEstoque; _produtoLojaE.qtdEstoqueAux = produtoLoja.QtdEstoqueAux; repProdutoLoja.SaveChanges(); AtualizarEstoqueEntradasProduto(produtoLoja.CodProduto); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new DadosException("Produto", e.Message, e); } finally { saceContext.Connection.Close(); } }
/// <summary> /// Insere um novo produto na loja /// </summary> /// <param name="produtoLoja"></param> /// <returns></returns> public Int64 Inserir(ProdutoLoja produtoLoja) { try { ProdutoLojaE _produtoLojaE = new ProdutoLojaE(); _produtoLojaE.codLoja = produtoLoja.CodLoja; _produtoLojaE.codProduto = produtoLoja.CodProduto; _produtoLojaE.estoqueMaximo = produtoLoja.EstoqueMaximo; _produtoLojaE.localizacao = produtoLoja.Localizacao; _produtoLojaE.localizacao2 = produtoLoja.Localizacao2; _produtoLojaE.qtdEstoque = produtoLoja.QtdEstoque; _produtoLojaE.qtdEstoqueAux = produtoLoja.QtdEstoqueAux; repProdutoLoja.Inserir(_produtoLojaE); repProdutoLoja.SaveChanges(); return(produtoLoja.CodProduto); } catch (Exception e) { throw new DadosException("Produto Loja", e.Message, e); } }
/// <summary> /// Adiciona quantida e quantidadeAux ao produto loja /// </summary> /// <param name="quantidade"></param> /// <param name="quantidadeAux"></param> /// <param name="codLoja"></param> /// <param name="codProduto"></param> public void AdicionaQuantidade(decimal quantidade, decimal quantidadeAux, Int32 codLoja, long codProduto) { var query = from produtoLoja in saceContext.ProdutoLojaSet where produtoLoja.codLoja == codLoja && produtoLoja.codProduto == codProduto select produtoLoja; ProdutoLojaE produtoLojaE = query.FirstOrDefault(); if (produtoLojaE != null) { produtoLojaE.qtdEstoque += quantidade; produtoLojaE.qtdEstoqueAux += quantidadeAux; } else { produtoLojaE = new ProdutoLojaE(); produtoLojaE.codLoja = codLoja; produtoLojaE.codProduto = codProduto; produtoLojaE.qtdEstoque = quantidade; produtoLojaE.qtdEstoqueAux = quantidadeAux; saceContext.AddToProdutoLojaSet(produtoLojaE); } saceContext.SaveChanges(); }