private static string fixAtom(int ordinal, string atom, ChangeCaseTypes newCase, bool useStrictSuffixConformity) { if (ordinal < 0) { throw new IndexOutOfRangeException("ordinal must be >= 0"); } switch (newCase) { case ChangeCaseTypes.PascalCase: var s = atom.Pascalize(); if (s.EndsWith(value: "ID", comparisonType: StringComparison.Ordinal)) { s = s.Substring(0, atom.LastIndexOf("ID", StringComparison.Ordinal)) + "Id"; } return(s); // PascalCase(atom, useStrictSuffixConformity); case ChangeCaseTypes.lowercase: return(atom.ToLower()); case ChangeCaseTypes.unchanged: return(atom); case ChangeCaseTypes.UPPERCASE: return(atom.ToUpper()); case ChangeCaseTypes.camelCase: return(atom.Camelize()); //return (useStrictSuffixConformity ? // (ordinal < 1 ? atom.ToLower() : PascalCase(atom, useStrictSuffixConformity)) : // (ordinal < 1 ? atom.Substring(0, 1).ToLower() + atom.Substring(1) : PascalCase(atom, useStrictSuffixConformity))); default: return(atom); } }
public static string Collapse(this string originalString, ChangeCaseTypes newCase, string delimiterCharacters) { if (string.IsNullOrEmpty(originalString)) { return(originalString); } return(Collapse(originalString, newCase, false, delimiterCharacters.ToCharArray())); }
public static string Collapse(this string originalString, ChangeCaseTypes newCase, bool useStrictSuffixConformity, params char[] delimiterChars) { if (string.IsNullOrEmpty(originalString)) { return(originalString); } string[] temp = originalString.Split(delimiterChars); string atoms = ""; for (int i = 0; i < temp.Length; i++) { string s = temp[i]; atoms += fixAtom(i, s, newCase, false); } return(atoms); }