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); }
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())); } }