Exemple #1
0
        public VendaStatus?Finalizar(int vendaId)
        {
            if (vendaId == 0)
            {
                AdicionarNotificacao(nameof(vendaId), "Campo obrigatório!");
                return(null);
            }

            var venda = vendaRepository.ObterPorId(vendaId);

            venda.Finalizar();

            try
            {
                fiscalService.GerarNota(venda);
                vendaRepository.Atualizar(venda);
                unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                AdicionarNotificacao("finalizarVenda", "Erro ao Finalizar a venda. Ex:" + ex.Message);
            }

            return(venda.Status);
        }
Exemple #2
0
        public VendaViewModel Atualizar(VendaViewModel vendaViewModel)
        {
            var vendaDTO = _vendaRepository.BuscarPorId(vendaViewModel.Id);
            var venda    = Mapper.Map(vendaViewModel, vendaDTO);

            return(Mapper.Map <VendaViewModel>(_vendaRepository.Atualizar(venda)));
        }
Exemple #3
0
        public void AtualizarVenda(Venda venda)
        {
            venda.Validar();
            venda.ItensVenda.ForEach(x => x.Validar());
            AssertionConcern.AssertArgumentNotEquals(0, venda.VendaCodigo,
                                                     string.Format(Erros.NotZeroParameter, "VendaCodigo"));
            VerificarEstoque(venda.ItensVenda);
            var vendaAtual = _vendaRepository.ObterPorCodigoComItensVenda(venda.VendaCodigo);

            if (venda.StatusVenda == StatusVendaEnum.Aberto)
            {
                AplicaValidacoesPadrao(venda);
                AdicionaClienteFormaECondicaoDePagamento(venda, vendaAtual);
                AtualizaItensVenda(vendaAtual, venda.ItensVenda);
                vendaAtual.StatusVenda = StatusVendaEnum.Confirmado;
                AdicionaContaReceberNaVenda(vendaAtual);
                vendaAtual.ContasReceber.ForEach(x => x.Validar());
                BaixarDoEstoque(vendaAtual.ItensVenda);
            }
            else
            {
                vendaAtual.StatusVenda = StatusVendaEnum.Cancelado;
                RemoveContaReceberDaVenda(vendaAtual);
                DevolverNoEstoque(vendaAtual.ItensVenda);
            }
            _vendaRepository.Atualizar(vendaAtual);
        }
        public async Task Atualizar(Venda venda)
        {
            if (!ExecutarValidacao(new VendaValidation(), venda))
            {
                return;
            }

            await _vendaRepository.Atualizar(venda);
        }
Exemple #5
0
        public async Task <ActionResult <VendaViewModel> > AtualizarVenda(Guid id, VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (id != vendaViewModel.Id)
            {
                return(BadRequest("ID do HEADER não confere com o BODY"));
            }

            await _vendaRepository.Atualizar(_mapper.Map <Venda>(vendaViewModel));

            return(Ok(vendaViewModel));
        }
Exemple #6
0
        public Venda Atualizar(Venda venda)
        {
            if (!venda.EhValido())
            {
                return(venda);
            }

            venda.ValidationResult = new VendaCadastroOkValidation(_estoqueRepository, _vendaRepository).Validate(venda);

            if (venda.ValidationResult.IsValid)
            {
                venda.DataVenda = new DateTime();
            }
            _vendaRepository.Atualizar(venda);
            _estoqueService.RemoverQuantidadeProdutoEstoque(venda.ProdutoId, (int)venda.Quantidade);

            return(venda);
        }
Exemple #7
0
 public async Task Atualizar(Venda venda)
 {
     await __vendaRepository.Atualizar(venda);
 }
Exemple #8
0
        public Venda Atualizar(Venda venda)
        {
            Venda vendaAtualizada = _repositorio.Atualizar(venda);

            return(vendaAtualizada);
        }
Exemple #9
0
 public void Editar(Venda venda)
 {
     ValidarModelo(venda);
     _vendaRepository.Atualizar(venda);
 }
Exemple #10
0
 public Venda Atualiza(Venda venda)
 {
     venda.Validate();
     return(_vendaRepository.Atualizar(venda));
 }