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

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

            if (success)
            {
                if (await TipoPagamentoExiste(message.TiposPagamentoAdicionar, message))
                {
                    try
                    {
                        message.TiposPagamentoAdicionar.ForEach(item => { colaboradorDb.AtribuirTipoPagamento(item); });
                        _colaboradorRepository.AdicionarTiposPagamentos(colaboradorDb);
                        if (await AlterarColaborador(colaboradorDb, message.MessageType))
                        {
                            await _mediatorHandler.PublicarEvento(new Events.Colaborador.ColaboradorTipoPagamentoAtribuidoEvent(colaboradorDb));

                            success = true;
                        }
                    }
                    catch (DomainException ex)
                    {
                        await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, ex.Message));

                        success = false;
                    }
                }
            }
            return(success);
        }