public void TaskMoverValida(Venda venda) { var valida = Task.Run(() => MoverParaDiretorioDeVendasValidas()); _vendaService.Adicionar(venda); valida.Wait(); }
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))))); }
public void Post([FromBody] VendaDTO venda) { try { _service.Adicionar(venda); } catch (Exception) { Response.StatusCode = 400; } }
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))); }
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))); }