Skip to content

Commit 877977f

Browse files
committed
AutoMapper
1 parent b04b45f commit 877977f

File tree

439 files changed

+1102
-18037
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

439 files changed

+1102
-18037
lines changed

src/StronglyTypedIds.Attributes/StronglyTypedIdConverter.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,10 @@ public enum StronglyTypedIdConverter
5252
/// </summary>
5353
SwaggerSchemaFilter = 64,
5454

55+
/// <summary>
56+
/// Creates a AutoMapper bidirectional converters
57+
/// </summary>
58+
AutoMapper = 128,
59+
5560
}
56-
}
61+
}

src/StronglyTypedIds/EmbeddedSources.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ internal static class EmbeddedSources
2929
LoadEmbeddedResource("StronglyTypedIds.Templates.Guid.Guid_Convertible.cs"),
3030
LoadEmbeddedResource("StronglyTypedIds.Templates.Guid.Guid_StronglyTypedId.cs"),
3131
LoadEmbeddedResource("StronglyTypedIds.Templates.Guid.Guid_SwaggerSchemaFilter.cs"),
32+
LoadEmbeddedResource("StronglyTypedIds.Templates.Guid.Guid_AutoMapperTypeConverter.cs"),
3233
false
3334
);
3435

@@ -45,6 +46,7 @@ internal static class EmbeddedSources
4546
LoadEmbeddedResource("StronglyTypedIds.Templates.Int.Int_Convertible.cs"),
4647
LoadEmbeddedResource("StronglyTypedIds.Templates.Int.Int_StronglyTypedId.cs"),
4748
LoadEmbeddedResource("StronglyTypedIds.Templates.Int.Int_SwaggerSchemaFilter.cs"),
49+
LoadEmbeddedResource("StronglyTypedIds.Templates.Int.Int_AutoMapperTypeConverter.cs"),
4850
false
4951
);
5052

@@ -61,6 +63,7 @@ internal static class EmbeddedSources
6163
LoadEmbeddedResource("StronglyTypedIds.Templates.Long.Long_Convertible.cs"),
6264
LoadEmbeddedResource("StronglyTypedIds.Templates.Long.Long_StronglyTypedId.cs"),
6365
LoadEmbeddedResource("StronglyTypedIds.Templates.Long.Long_SwaggerSchemaFilter.cs"),
66+
LoadEmbeddedResource("StronglyTypedIds.Templates.Long.Long_AutoMapperTypeConverter.cs"),
6467
false
6568
);
6669

@@ -77,6 +80,7 @@ internal static class EmbeddedSources
7780
LoadEmbeddedResource("StronglyTypedIds.Templates.String.String_Convertible.cs"),
7881
LoadEmbeddedResource("StronglyTypedIds.Templates.String.String_StronglyTypedId.cs"),
7982
LoadEmbeddedResource("StronglyTypedIds.Templates.String.String_SwaggerSchemaFilter.cs"),
83+
LoadEmbeddedResource("StronglyTypedIds.Templates.String.String_AutoMapperTypeConverter.cs"),
8084
false
8185
);
8286

@@ -93,6 +97,7 @@ internal static class EmbeddedSources
9397
LoadEmbeddedResource("StronglyTypedIds.Templates.NullableString.NullableString_Convertible.cs"),
9498
LoadEmbeddedResource("StronglyTypedIds.Templates.NullableString.NullableString_StronglyTypedId.cs"),
9599
LoadEmbeddedResource("StronglyTypedIds.Templates.NullableString.NullableString_SwaggerSchemaFilter.cs"),
100+
LoadEmbeddedResource("StronglyTypedIds.Templates.NullableString.NullableString_AutoMapperTypeConverter.cs"),
96101
true
97102
);
98103

@@ -109,6 +114,7 @@ internal static class EmbeddedSources
109114
LoadEmbeddedResource("StronglyTypedIds.Templates.NewId.NewId_Convertible.cs"),
110115
LoadEmbeddedResource("StronglyTypedIds.Templates.NewId.NewId_StronglyTypedId.cs"),
111116
LoadEmbeddedResource("StronglyTypedIds.Templates.NewId.NewId_SwaggerSchemaFilter.cs"),
117+
LoadEmbeddedResource("StronglyTypedIds.Templates.NewId.NewId_AutoMapperTypeConverter.cs"),
112118
false
113119
);
114120

@@ -142,6 +148,7 @@ public readonly struct ResourceCollection
142148
public string TypeConverter { get; }
143149
public string EfCoreValueConverter { get; }
144150
public string DapperTypeHandler { get; }
151+
public string AutoMapperTypeHandler { get; }
145152
public string Comparable { get; }
146153
public string Parsable { get; }
147154
public string Convertible { get; }
@@ -161,6 +168,7 @@ public ResourceCollection(
161168
string convertible,
162169
string stronglyTypedId,
163170
string swaggerSchemaFilter,
171+
string autoMapperTypeHandler,
164172
bool nullableEnable)
165173
{
166174
SwaggerSchemaFilter = swaggerSchemaFilter;
@@ -170,6 +178,7 @@ public ResourceCollection(
170178
TypeConverter = typeConverter;
171179
EfCoreValueConverter = efCoreValueConverter;
172180
DapperTypeHandler = dapperTypeHandler;
181+
AutoMapperTypeHandler = autoMapperTypeHandler;
173182
Comparable = comparable;
174183
Parsable = parsable;
175184
Convertible = convertible;

src/StronglyTypedIds/SourceGenerationHelper.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ static string CreateId(
7171
var useSystemTextJson = converters.IsSet(StronglyTypedIdConverter.SystemTextJson);
7272
var useEfCoreValueConverter = converters.IsSet(StronglyTypedIdConverter.EfCoreValueConverter);
7373
var useDapperTypeHandler = converters.IsSet(StronglyTypedIdConverter.DapperTypeHandler);
74+
var useAutoMapperTypeHandler = converters.IsSet(StronglyTypedIdConverter.AutoMapper);
7475

7576
var useIEquatable = implementations.IsSet(StronglyTypedIdImplementations.IEquatable);
7677
var useIComparable = implementations.IsSet(StronglyTypedIdImplementations.IComparable);
@@ -168,6 +169,11 @@ static string CreateId(
168169
sb.AppendLine(resources.DapperTypeHandler);
169170
}
170171

172+
if (useAutoMapperTypeHandler)
173+
{
174+
sb.AppendLine(resources.AutoMapperTypeHandler);
175+
}
176+
171177
if (useTypeConverter)
172178
{
173179
sb.AppendLine(resources.TypeConverter);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, System.Guid>
4+
{
5+
public System.Guid Convert(TESTID source, System.Guid destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, int>
4+
{
5+
public int Convert(TESTID source, int destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, long>
4+
{
5+
public long Convert(TESTID source, long destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, string?>
4+
{
5+
public string Convert(TESTID source, string destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, string?>
4+
{
5+
public string? Convert(TESTID source, string? destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+

2+
#if !FAKE_CODE
3+
public class AutoMapperTypeConverter : AutoMapper.ITypeConverter<TESTID, string>
4+
{
5+
public string Convert(TESTID source, string destination, AutoMapper.ResolutionContext context)
6+
{
7+
return source.Value;
8+
}
9+
}
10+
#endif
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace AutoMapper;
2+
3+
//FAKE STUB
4+
public interface ITypeConverter<T, T2>
5+
{
6+
7+
}
8+
9+
//FAKE STUB
10+
public class ResolutionContext
11+
{
12+
13+
}

0 commit comments

Comments
 (0)