Exemple #1
0
        public void Remove(Guid id)
        {
            var venda = Mapper.Map <VendasViewModel, Vendas>(GetById(id));

            BeginTransaction();

            _vendasService.Remove(venda);

            //Atualiza o estoque e Deleta a VendaProduto
            foreach (var item in _vendasProdutosService.GetByVenda(id))
            {
                var e = _estoqueService.GetById(item.EstoqueId);
                e.Quantidade   = e.Quantidade + item.Quantidade;
                e.SaldoVenda   = e.SaldoVenda - (item.Quantidade * e.ValorUnitario);
                e.TotalVendido = e.TotalVendido - item.Quantidade;

                _estoqueService.AtualizaProdutos(e);

                _vendasProdutosService.Remove(item);
            }

            //Delete Receita Financeira
            _receitasService.Remove(_receitasService.GetById(venda.ReceitasId));

            _logSistemaService.AddLog("Venda", venda.VendaId, "Remove", "");
            Commit();
        }
        public IActionResult GetById(int id)
        {
            var estoque = _estoqueService.GetById(id);
            var dto     = _mapper.Map <EstoqueDto>(estoque);

            return(Ok(dto));
        }
Exemple #3
0
        public bool Update(MovimentacaoEstoqueViewModel movimentacaoViewModel)
        {
            var movimentacao = Mapper.Map <MovimentacaoEstoqueViewModel, MovimentacaoEstoque>(movimentacaoViewModel);

            var movimentacaoBase = _movimentacaoService.GetById(movimentacao.MovimentacaoId);

            var e = _estoqueService.GetById(movimentacao.EstoqueId);

            BeginTransaction();
            //Estou alterando acrescentando quantidade
            if (movimentacaoBase.Quantidade < movimentacao.Quantidade)
            {
                e.Quantidade = e.Quantidade + (movimentacao.Quantidade - movimentacaoBase.Quantidade);
            }
            else
            {
                //Estou alterando retirando quantidade
                if (movimentacaoBase.Quantidade > movimentacao.Quantidade)
                {
                    //Verifica se tem estoque suficiente para quantidade retirada
                    if (e.Quantidade < (movimentacaoBase.Quantidade - movimentacao.Quantidade))
                    {
                        return(false);
                    }
                    else
                    {
                        e.Quantidade = e.Quantidade - (movimentacaoBase.Quantidade - movimentacao.Quantidade);
                    }
                }
            }

            e.ValorTotal = e.Quantidade * e.ValorUnitario;

            //Atualiza Movimentacao
            _movimentacaoService.Add(movimentacao);

            //Atualiza estoque
            _estoqueService.Update(e);

            _logSistemaService.AddLog("MovimentacaoEstoque", movimentacaoViewModel.MovimentacaoId, "Update", "");
            Commit();

            return(true);
        }
Exemple #4
0
        public void AddVendasProdutos(IEnumerable <VendasProdutosViewModel> vendasProdutosViewModelList, Guid idVenda)
        {
            var vendasProdutosList = Mapper.Map <IEnumerable <VendasProdutosViewModel>, IEnumerable <VendasProdutos> >(vendasProdutosViewModelList);

            BeginTransaction();
            _vendasProdutosService.AddVendasProdutos(vendasProdutosList, idVenda);

            //Atualiza Estoque
            foreach (var item in vendasProdutosList)
            {
                var e = _estoqueService.GetById(item.EstoqueId);
                e.Quantidade   = e.Quantidade - item.Quantidade;
                e.SaldoVenda   = e.SaldoVenda + (item.Quantidade * e.ValorUnitario);
                e.TotalVendido = e.TotalVendido + item.Quantidade;
                _estoqueService.AtualizaProdutos(e);
            }

            Commit();
        }
 public EstoqueDTO GetById(int codigo)
 {
     return(_estoqueMapper.MapperEntityToDto(_estoqueService.GetById(codigo)));
 }
 public async Task <EstoqueResponseModel> GetById([FromRoute] Guid id)
 {
     return(await _estoqueService.GetById(id));
 }
Exemple #7
0
 public EstoqueViewModel GetById(Guid id)
 {
     return(Mapper.Map <Estoque, EstoqueViewModel>(_estoqueService.GetById(id)));
 }