internal void BuildLookup <TEnum>(EnumLookupFluentBuilder <TEnum> builder) { var lookups = Enum.GetValues(typeof(TEnum)).Cast <TEnum>().ToList() .FindAll(o => builder.FlagsRetainInList.Any() ? builder.FlagsRetainInList.Contains(o.ToString()) : !builder.FlagsToRemoveInList.Contains(o.ToString())) .Select(o => CreateLookupData(builder, o)); _lookupData.AddRange(lookups); }
private string GetLookupDataValueField <TEnum>(EnumLookupFluentBuilder <TEnum> builder, TEnum o) { return(builder.IsBitFlagAsValue ? EnumBitFlagValueToString(o) : o.ToString()); }
private string SplitCamelCaseValue <TEnum>(EnumLookupFluentBuilder <TEnum> builder, string inputString) { return(builder.IsSpaceAddedInValue ? inputString.SplitCamelCase() : inputString); }
private LookupData CreateLookupData <TEnum>(EnumLookupFluentBuilder <TEnum> builder, TEnum o) { return(LookupData.Create(SplitCamelCaseText(builder, o.ToString()), SplitCamelCaseValue(builder, GetLookupDataValueField(builder, o)))); }