public async Task DeleteCharacterRoleAsync
            (
                IRole discordRole
            )
            {
                var getExistingRoleResult = await _characterRoles.GetCharacterRoleAsync(discordRole);

                if (!getExistingRoleResult.IsSuccess)
                {
                    await _feedback.SendErrorAsync(this.Context, getExistingRoleResult.ErrorReason);

                    return;
                }

                var deleteRoleResult = await _characterRoles.DeleteCharacterRoleAsync(getExistingRoleResult.Entity);

                if (!deleteRoleResult.IsSuccess)
                {
                    await _feedback.SendErrorAsync(this.Context, deleteRoleResult.ErrorReason);

                    return;
                }

                await _feedback.SendConfirmationAsync(this.Context, "Character role deleted.");
            }
Exemplo n.º 2
0
            public async Task <RuntimeResult> DeleteCharacterRoleAsync
            (
                IRole discordRole
            )
            {
                var getExistingRoleResult = await _characterRoles.GetCharacterRoleAsync(discordRole);

                if (!getExistingRoleResult.IsSuccess)
                {
                    return(getExistingRoleResult.ToRuntimeResult());
                }

                var deleteRoleResult = await _characterRoles.DeleteCharacterRoleAsync(getExistingRoleResult.Entity);

                if (!deleteRoleResult.IsSuccess)
                {
                    return(deleteRoleResult.ToRuntimeResult());
                }

                return(RuntimeCommandResult.FromSuccess("Character role deleted."));
            }
        public async Task <Result <FeedbackMessage> > DeleteCharacterRoleAsync(IRole discordRole)
        {
            var getExistingRoleResult = await _characterRoles.GetCharacterRoleAsync
                                        (
                _context.GuildID.Value,
                discordRole.ID,
                this.CancellationToken
                                        );

            if (!getExistingRoleResult.IsSuccess)
            {
                return(Result <FeedbackMessage> .FromError(getExistingRoleResult));
            }

            var deleteRoleResult = await _characterRoles.DeleteCharacterRoleAsync
                                   (
                getExistingRoleResult.Entity,
                this.CancellationToken
                                   );

            return(!deleteRoleResult.IsSuccess
                ? Result <FeedbackMessage> .FromError(deleteRoleResult)
                : new FeedbackMessage("Character role deleted.", _feedback.Theme.Secondary));
        }