public IActionResult Edit(int id, [Bind("Id,DataHora,MovimentacaoEntrada,Quantidade,Local,IdMercadoria")] Movimentacao movimentacao) { if (id != movimentacao.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _repo.Update(movimentacao); } catch (DbUpdateConcurrencyException) { if (!_repo.MovimentacaoExists(movimentacao.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdMercadoria"] = new SelectList(_repoMercadoria.GetAll(), "Id", "Nome"); return(View(movimentacao)); }
public Task <int> Handle(UpdateMovimentacaoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId); if (procedimento == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O procedimento não foi encontrado.")); return(Task.FromResult(0)); } var existingMovimentacao = _movimentacaoRepository.GetAsNoTracking(x => x.Id == request.Id); if (existingMovimentacao == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "A Movimentação não foi encontrada.")); return(Task.FromResult(0)); } var movimentacao = new Movimentacao(request.Id, request.Destino, request.Data, procedimento, request.RetornouEm); if (!movimentacao.Equals(existingMovimentacao)) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "A Movimentação não foi encontrada.")); return(Task.FromResult(0)); } _movimentacaoRepository.Update(movimentacao); if (Commit()) { //TO DO } return(Task.FromResult(movimentacao.Id)); }