Exemple #1
0
        public string ToString(TradingPairFormatOption option)
        {
            string template = "{0}{1}";
            string result   = "";

            if ((option & TradingPairFormatOption.Dash) == TradingPairFormatOption.Dash)
            {
                template = "{0}-{1}";
            }
            else if ((option & TradingPairFormatOption.LowDash) == TradingPairFormatOption.LowDash)
            {
                template = "{0}_{1}";
            }

            result =
                (option & TradingPairFormatOption.QuoteFist) == TradingPairFormatOption.QuoteFist ?
                string.Format(template, _quote, _base) :
                string.Format(template, _base, _quote);

            if ((option & TradingPairFormatOption.XBT) == TradingPairFormatOption.XBT)
            {
                var regex = new Regex("(?i)btc(?-i)");
                result = regex.Replace(result, "xbt");
            }

            result =
                (option & TradingPairFormatOption.LowerCase) == TradingPairFormatOption.LowerCase ?
                result.ToLower() :
                result.ToUpper();

            return(result);
        }
Exemple #2
0
        public static TradingPair Create(string traindingPair, TradingPairFormatOption option = TradingPairFormatOption.BaseFirstDash)
        {
            var split = new List <string>();

            traindingPair = traindingPair.ToLower();

            if ((option & TradingPairFormatOption.XBT) == TradingPairFormatOption.XBT)
            {
                var regex = new Regex("(?i)btc(?-i)");
                traindingPair = regex.Replace(traindingPair, "xbt");
            }

            if ((option & TradingPairFormatOption.Dash) == TradingPairFormatOption.Dash)
            {
                traindingPair.Split("-").ToList().ForEach(split.Add);
            }
            else if ((option & TradingPairFormatOption.LowDash) == TradingPairFormatOption.LowDash)
            {
                traindingPair.Split("_").ToList().ForEach(split.Add);
            }

            if ((option & TradingPairFormatOption.QuoteFist) == TradingPairFormatOption.QuoteFist)
            {
                return(new TradingPair(split.LastOrDefault(), split.FirstOrDefault()));
            }
            else
            {
                return(new TradingPair(split.FirstOrDefault(), split.LastOrDefault()));
            }
        }