public Group(string locationsline, string nameline) { if ((nameline.StartsWith(Constants.StartBracket, StringComparison.OrdinalIgnoreCase)) && (nameline.EndsWith(Constants.EndBracket, StringComparison.OrdinalIgnoreCase))) { nameline = nameline.TrimStart("(".ToCharArray()); nameline = nameline.TrimEnd(")".ToCharArray()); int locationOnParent = Convert.ToInt16(locationsline); IUPACCompound compound = new IUPACCompound(locationOnParent, nameline); Formulas = new List <Formula>(); Formulas.Add(compound.Formula); } else { List <string> locations = locationsline.Split(",".ToCharArray()).ToList(); string chainName = MultiplyingAffix.RemoveMultiplyingAffixName(nameline); int chainLength = CarbonSubChain.FindSubChainLength(chainName); Formulas = new List <Formula>(); foreach (string location in locations) { Formula formula = new Formula(Convert.ToInt16(location), chainName); Formulas.Add(formula); } } }
public static List <MultiplyingAffix> GetAllMultiplyingAffixes() { List <MultiplyingAffix> affixes = new List <MultiplyingAffix>(); for (int counter = 1; counter <= Constants.MaxNumberOfSubChains; counter++) { MultiplyingAffix affix = new MultiplyingAffix(counter); affixes.Add(affix); } return(affixes); }