Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }