예제 #1
0
        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);
        }