public void AddProduto(VendasProdutosViewModel vendasProdutosViewModel) { var vendaProduto = Mapper.Map <VendasProdutosViewModel, VendasProdutos>(vendasProdutosViewModel); BeginTransaction(); _vendasProdutosService.Add(vendaProduto); //Atualiza Estoque var e = _estoqueService.GetById(vendaProduto.EstoqueId); e.Quantidade = e.Quantidade - vendaProduto.Quantidade; e.SaldoVenda = e.SaldoVenda + (vendaProduto.Quantidade * e.ValorUnitario); e.TotalVendido = e.TotalVendido + vendaProduto.Quantidade; _estoqueService.Update(e); //Atualiza total venda var venda = _vendasService.GetById(vendaProduto.VendaId); venda.ValorTotal = venda.ValorTotal + (vendaProduto.Quantidade * e.ValorUnitario); _vendasService.Update(venda); //Atualiza a Receita var r = _receitasService.GetById(venda.ReceitasId); r.Valor = r.Valor + (vendaProduto.Quantidade * e.ValorUnitario); r.ValorTotal = r.Valor; _receitasService.Update(r); Commit(); }
public async Task <HttpResponseMessage> AddProduto(VendasProdutosViewModel vendasProdutosViewModel) { _vendasProdutosApp.AddProduto(vendasProdutosViewModel); var response = Request.CreateResponse(HttpStatusCode.OK, "Produtos Adicionados"); var tsc = new TaskCompletionSource <HttpResponseMessage>(); tsc.SetResult(response); return(await tsc.Task); }