private void EntradaItemsEstoque(string Numero, string Fornecedor) { try { db.DocumentoEntradaItem .Where(e => e.DocumentoEntradaNumero == Numero && e.Fornecedor == Fornecedor && e.EntradaAntecipada != "S" && e.RowDeleted != "T") .ToList() .ForEach(item => { saldoEstoqueService.EntradaItem(item.Codigo, item.Loja, (int)item.Quantidade); }); } catch (Exception ex) { throw ex; } }
private void EntradaItemsEstoque(string Numero, string Loja) { var saldoEstoqueService = new SaldoEstoqueService(db, configuration); try { using (var tr = db.Database.BeginTransaction()) { db.PedidoVendaItem .Where(e => e.NumeroVenda == Numero && e.Loja == Loja && e.RowDeleted != "T") .ToList() .ForEach(item => { saldoEstoqueService.EntradaItem(item.Codigo, item.Loja, (int)item.Quantidade); }); tr.Commit(); } } catch (Exception ex) { throw ex; } }
public int EntradaAntecipada(EntradaAntecipada entrada) { try { var produto = db.Produtos.Where(e => e.Codigo == entrada.Produto && e.RowDeleted != "T").SingleOrDefault(); if (produto == null) { produto = new Produto { Codigo = entrada.Produto, Descricao = entrada.DescricaoProduto, DescricaoEtiqueta1 = entrada.DescricaoEtiqueta1, DescricaoEtiqueta2 = entrada.DescricaoEtiqueta2, Unidade = "PC", ValorVista = Math.Round((double)entrada.PrecoVista, 2), ValorPrazo = Math.Round((double)entrada.PrecoPrazo, 2), ValorCusto = Math.Round((double)entrada.PrecoCusto, 2), Status = "A", Fornecedor = entrada.Fornecedor, UltimaCompra = entrada.DataEntrada, Secao = entrada.Secao }; db.Produtos.Add(produto); } else { produto.Descricao = entrada.DescricaoProduto; produto.DescricaoEtiqueta1 = entrada.DescricaoEtiqueta1; produto.DescricaoEtiqueta2 = entrada.DescricaoEtiqueta2; produto.ValorVista = Math.Round((double)entrada.PrecoVista, 2); produto.ValorPrazo = Math.Round((double)entrada.PrecoPrazo, 2); produto.ValorCusto = Math.Round((double)entrada.PrecoCusto, 2); produto.Fornecedor = entrada.Fornecedor; produto.UltimaCompra = entrada.DataEntrada; produto.Secao = entrada.Secao; db.Produtos.Update(produto); } var item = new DocumentoEntradaItem { Codigo = entrada.Produto, DocumentoEntradaNumero = entrada.NotaFiscal, Classificacao = "", DataEntrada = (DateTime)entrada.DataEntrada, Fornecedor = entrada.Fornecedor, Loja = entrada.Loja, Quantidade = (int)entrada.Quantidade, ValorUnitario = Math.Round((double)entrada.PrecoCusto, 2), EntradaAntecipada = "S" }; db.DocumentoEntradaItem.Add(item); db.SaveChanges(); saldoEstoqueService.EntradaItem(item.Codigo, item.Loja, item.Quantidade); return(1); } catch (Exception ex) { throw ex; } }