private static object GetEnums(this Type enumType, object value) { if (FlagEnums.IsFlagEnum(enumType) && FlagEnums.HasAnyFlags(enumType, value)) { return(string.Join("|", FlagEnums.GetFlagMembers(enumType, value) .Select(member => $"{enumType.FullName}.{member.Name}"))); } var name = Enum.GetName(enumType, value); return($"{enumType.FullName}.{name}"); }
public static void Extend(this PredifinedModelMapperConfiguration configuration, Action <ModelMapperConfiguration> configure = null) { var results = FlagEnums.GetFlagMembers(configuration).Select(_ => _.Value) .Select(_ => { var modelMapperConfiguration = _.ModelMapperConfiguration(configure); return(modelMapperConfiguration.MapData.typeToMap, modelMapperConfiguration); }); foreach (var result in results) { result.Extend(result.modelMapperConfiguration.MapData.modelType); } }
public static IObservable <Type> MapToModel(this PredifinedModelMapperConfiguration configuration, Action <ModelMapperConfiguration> configure = null) { return(FlagEnums.GetFlagMembers(configuration).Select(_ => _.Value).MapToModel((mapperConfiguration, modelMapperConfiguration) => configure?.Invoke(modelMapperConfiguration))); }
public static IEnumerable <EnumMember> GetFlagMembers(EnumMember member) => FlagEnums.GetFlagMembers(member);