/// <summary>
        /// scope= list:currency
        /// cmd= 'get @p0.
        /// @p0 parameter for desired currency
        /// </summary>
        /// <returns></returns>
        public override async Task GetCryptoCurrency()
        {
            int parameterCount = 1;

            var validateResp = ValidateParameters(null, parameterCount);

            if (validateResp.ResponseCode != ResponseCode.Success)
            {
                await PostMessage(GetSlackExecutionErrorMessage(validateResp.ResponseData));

                return;
            }

            var currency  = Currency.Unknown;
            var parameter = Parameters[0];

            if (parameter.ToLower() != "all")
            {
                currency = Statics.GetCurrency(Parameters[0]);

                if (currency == Currency.Unknown)
                {
                    var errorMesssage = GetSlackExecutionErrorMessage(2);

                    //post depth=2 message => Given crypto currency either not found or not supported.
                    errorMesssage.text = string.Format(errorMesssage.text, Parameters[0]);
                    await PostMessage(errorMesssage);

                    return;
                }
            }

            var cryptoCurrencies = GetCryptoCurrencies(currency);

            if (!cryptoCurrencies.Any())
            {
                // you have no balance with this crypto currency.
                await PostMessage(GetSlackExecutionErrorMessage(3));

                return;
            }

            var successMessage = SlackMessageGenerator.GetCryptoCurrencyMessage(cryptoCurrencies, Team.MainCurrency);

            await PostMessage(GetSlackExecutionSuccessMessage(successMessage));
        }