public async Task <bool> Handle(AtivarColaboradorCommand message, CancellationToken cancellationToken)
        {
            var success = await Validar(message);

            if (!success)
            {
                return(success);
            }
            var colaboradorDb = ObterColaboradorPorId(message, ref success);

            if (success)
            {
                if (colaboradorDb.Ativo)
                {
                    await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, $"O colaborador informado {message.Data.Id}- {message.Data.Nome} já está ativado!"));

                    return(success);
                }
                colaboradorDb.AtivarColaborador();
                success = await AlterarColaborador(colaboradorDb, message.MessageType);

                if (success)
                {
                    await _mediatorHandler.PublicarEvento(new Events.Colaborador.ColaboradorAtivadoEvent(colaboradorDb));
                }
            }
            return(success);
        }
Ejemplo n.º 2
0
 public async Task DesativarColaborador(Guid id)
 {
     var colaborador   = _colaboradorRepository.GetById(id);
     var ativarCommand = new AtivarColaboradorCommand(colaborador);
     await _mediator.EnviarComando(ativarCommand);
 }