예제 #1
0
        public void TaskMoverValida(Venda venda)
        {
            var valida = Task.Run(() => MoverParaDiretorioDeVendasValidas());

            _vendaService.Adicionar(venda);
            valida.Wait();
        }
예제 #2
0
        public async Task <ActionResult <VendaViewModelResponse> > Vender(VendaViewModelRequest vendaViewModelReQuest)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            return(CustomResponse(_mapper.Map <VendaViewModelResponse>(await _vendaService.Adicionar(_mapper.Map <Venda>(vendaViewModelReQuest)))));
        }
예제 #3
0
 public void Post([FromBody] VendaDTO venda)
 {
     try
     {
         _service.Adicionar(venda);
     }
     catch (Exception)
     {
         Response.StatusCode = 400;
     }
 }
예제 #4
0
        public async Task <IActionResult> Create(VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            var venda = _mapper.Map <Venda>(vendaViewModel);

            var produto = await _produtoRepository.ObterPorId(venda.ProdutoId);

            if (venda.Quantidade > produto.Quantidade)
            {
                ModelState.AddModelError("", "A quantidade do pedido excede o estoque do produto");
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            if (venda.Quantidade <= 0)
            {
                ModelState.AddModelError("", "A quantidade do produto deve ser maior que 0");
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            venda.StatusVenda = StatusVenda.Criada;
            venda.TotalVenda  = venda.Quantidade * produto.Valor;

            produto.Quantidade += -venda.Quantidade;

            await _produtoRepository.Atualizar(produto);

            await _vendaService.Adicionar(venda);

            if (!OperacaoValida())
            {
                return(View(vendaViewModel));
            }

            TempData["Sucesso"] = "Venda cadastrada com sucesso!";

            return(RedirectToAction(nameof(Index)));
        }
예제 #5
0
        public VendaViewModel Adicionar(VendaViewModel vendaViewModel)
        {
            var venda = Mapper.Map <Venda>(vendaViewModel);

            var produtoReturn = _vendaService.Adicionar(venda);

            if (produtoReturn.ValidationResult.IsValid)
            {
                if (!Commit())
                {
                    AdicionarErrosValidacao(venda.ValidationResult, "Ocorreu um erro ao salvar no banco de dados.");
                }
            }

            vendaViewModel.ValidationResult = produtoReturn.ValidationResult;
            return(vendaViewModel);
        }
        public async Task <IActionResult> Create(VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            var venda = _mapper.Map <Venda>(vendaViewModel);

            await _vendaService.Adicionar(venda);

            if (!OperacaoValida())
            {
                return(View(vendaViewModel));
            }

            TempData["Sucesso"] = "Venda cadastrada com sucesso!";

            return(RedirectToAction(nameof(Index)));
        }