public async Task <IActionResult> Handle(AlterarAssuntoCommand request, CancellationToken cancellationToken) { ApplicationResult <Guid> result = new ApplicationResult <Guid>(request); //Recupera o objeto assunto var assunto = await AssuntoRepository.ObterAsync(request.AssuntoId); var alterouPai = assunto.AssuntoPaiId != request.AssuntoPaiId; //Monta o objeto com os dados do assunto assunto.Alterar(request.Valor, request.AssuntoPaiId, request.Ativo); try { await validarAssunto(assunto, alterouPai); } catch (SISRHDomainException e) { result.SetHttpStatusToBadRequest(e.Message); return(result); } //Altera o assunto no banco de dados AssuntoRepository.Atualizar(assunto); UnitOfWork.Commit(false); result.Result = assunto.AssuntoId; result.SetHttpStatusToOk("Assunto alterado com sucesso."); return(result); }
public ActionResult Editar(Assunto assunto) { using (var repo = new AssuntoRepository()) { assunto = repo.Atualizar(assunto); return(RedirectToAction("Index")); } }
private AssuntoCursoUsuario AtualizarAssunto(AssuntoCursoUsuario assunto) { using (AssuntoRepository repo = new AssuntoRepository()) { assunto.Nome = "Nome Atualizado"; repo.Atualizar(assunto); var assuntoAtualizado = repo.Obter(assunto.IdAssunto); Assert.AreEqual("Nome Atualizado", assuntoAtualizado.NomeAssunto); return(assuntoAtualizado); } }