public async Task <ValidationResult> Handle(AtualizarOrdemCommand message, CancellationToken cancellationToken) { if (!message.EhValido()) { return(message.ValidationResult); } var ordemExistente = await _ordemRepository.ObterPorId(message.Id); if (ordemExistente != null) { ordemExistente.Solucao = message.Solucao; ordemExistente.DataSolucao = message.DataSolucao; _ordemRepository.Atualizar(ordemExistente); ordemExistente.AdicionarEvento( new OrdemAtualizadaEvent( message.Id, message.IdSolicitante, message.IdSolicitacao, message.CodDepartamento, message.Descricao, message.Solucao, message.DataCadastro, message.DataSolucao)); return(await PersistirDados(_ordemRepository.UnitOfWork)); } else { AdicionarErro("Ordem não localizada."); return(ValidationResult); } }
public async Task <Ordem> ObterPorId(Guid id) { return(await _ordemRepository.ObterPorId(id)); }