public ICommandResult Handle(ActivateCondominiumCommand command) { // Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Ops, erro ao ativar condomínio.", command.Notifications)); } // Hidrata condomínio var condominium = _repository.GetById(command.Id, command.User); if (condominium == null) { return(new GenericCommandResult(false, "Ops, erro ao ativar condomínio.", command.Id)); } condominium.Activate(); try { // Atualiza morador _repository.Update(condominium); } catch (Exception ex) { return(new GenericCommandResult(false, "Erro inesperado!", ex.Message)); } return(new GenericCommandResult(true, "Condomínio ativado com sucesso!", null)); }
public GenericCommandResult Activate( Guid id, [FromServices] CondominiumHandler handler ) { var user = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value; var command = new ActivateCondominiumCommand(id, user); return((GenericCommandResult)handler.Handle(command)); }