Example #1
0
        public TokenChain(string chain)
        {
            string regex;

            if (chain.StartsWith("("))
            {
                if (chain.EndsWith(")"))
                {
                    ChainPosition = TokenChainPosition.OpenAndClose;
                    regex         = @"\((\d+)\)";
                }
                else
                {
                    ChainPosition = TokenChainPosition.Open;
                    regex         = @"\((\d+)";
                }
            }
            else
            {
                ChainPosition = TokenChainPosition.Close;
                regex         = @"(\d+)\)";
            }
            Match match = new Regex(regex).Match(chain);

            this.ChainNumber = int.Parse(match.Groups[1].ToString());
        }
Example #2
0
        private void OpenAndCloseChain(int chainNumber, TokenChainPosition chainPosition)
        {
            TokenChain tokenChain = Chains.Single(x => x.ChainNumber == chainNumber);

            if (tokenChain.ChainPosition == chainPosition)
            {
                throw new Exception("Unable to open and close chain");
            }

            tokenChain.OpenAndCloseChain();
        }
Example #3
0
 public void AddChain(int chainNumber, TokenChainPosition chainPosition)
 {
     if (Chains.Any(x => x.ChainNumber == chainNumber))
     {
         OpenAndCloseChain(chainNumber, chainPosition);
     }
     else
     {
         Chains.Add(new TokenChain(chainNumber, chainPosition));
     }
 }
Example #4
0
 public void OpenAndCloseChain()
 {
     ChainPosition = TokenChainPosition.OpenAndClose;
 }
Example #5
0
 public TokenChain(int chainNumber, TokenChainPosition chainPosition)
 {
     this.ChainNumber   = chainNumber;
     this.ChainPosition = chainPosition;
 }
Example #6
0
 public void AddTokenChain(int chainNumber, TokenChainPosition chainPosition)
 {
     Chains.AddChain(chainNumber, chainPosition);
 }