private static string UpdateCasingForCustomGlobalOptionSets(string name, OptionSetMetadataBase optionSetMetadata) { var preferredEndings = new [] { "StateCode", "Status", "State" }; var displayName = optionSetMetadata.DisplayName?.GetLocalOrDefaultText() ?? string.Empty; if (string.IsNullOrWhiteSpace(displayName)) { return(CamelCaseClassNames ? CamelCaser.Case(name, preferredEndings) : name); } displayName = displayName.RemoveDiacritics().Replace(" ", ""); // Remove spaces if (name.EndsWith(displayName.ToLower())) { name = name.Replace(displayName.ToLower(), displayName); } else if (name.Contains(displayName.ToLower()) && name.IndexOf(displayName.ToLower(), StringComparison.Ordinal) == name.LastIndexOf(displayName.ToLower(), StringComparison.Ordinal)) { // Name only contains the display name, and only once, but also contains other characters. Capitalize the Display Name, and the next character // as long as more than one character exists: given HelloWorld, helloworldstatus => HelloWorldStatus but helloworlds => HelloWorlds // May need to check for plural instead... s/es/ies var index = name.IndexOf(displayName.ToLower(), StringComparison.Ordinal) + displayName.Length; name = name.Replace(displayName.ToLower(), displayName); if (index < name.Length - 1) { name = name.Substring(0, index) + char.ToUpper(name[index]) + name.Substring(index + 1, name.Length - index - 1); } } return(CamelCaseClassNames ? CamelCaser.Case(name, preferredEndings) : name); }
public string GetNameForRelationship(EntityMetadata entityMetadata, RelationshipMetadataBase relationshipMetadata, EntityRole?reflexiveRole, IServiceProvider services) { var defaultName = DefaultService.GetNameForRelationship(entityMetadata, relationshipMetadata, reflexiveRole, services); return(CamelCaseMemberNames ? CamelCaser.Case(defaultName) : defaultName); }
public string GetNameForResponseField(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { var defaultName = DefaultService.GetNameForResponseField(response, responseField, services); return(CamelCaseMemberNames ? CamelCaser.Case(defaultName) : defaultName); }
public string GetNameForEntity(EntityMetadata entityMetadata, IServiceProvider services) { var defaultName = DefaultService.GetNameForEntity(entityMetadata, services); return(CamelCaseClassNames ? CamelCaser.Case(defaultName) : defaultName); }
private string GetNameForAttribute(EntityMetadata entityMetadata, AttributeMetadata attributeMetadata, IServiceProvider services, bool camelCase) { string attributeName; if (EntityAttributeSpecifiedNames.TryGetValue(entityMetadata.LogicalName.ToLower(), out var specifiedNames) && specifiedNames.Any(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase))) { attributeName = specifiedNames.First(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase)); } else { attributeName = DefaultService.GetNameForAttribute(entityMetadata, attributeMetadata, services); attributeName = camelCase ? CamelCaser.Case(attributeName) : attributeName; } return(attributeName); }