Inject empty constructor
This commit is contained in:
parent
a6f5116656
commit
7de9b48c69
|
@ -32,6 +32,7 @@ namespace MapTo.Extensions
|
||||||
.WriteOpeningBracket()
|
.WriteOpeningBracket()
|
||||||
.WriteLine()
|
.WriteLine()
|
||||||
// Class body
|
// Class body
|
||||||
|
.GeneratePublicEmptyConstructor(model, ref constructorHeaders, true)
|
||||||
.GeneratePublicConstructor(model, ref constructorHeaders)
|
.GeneratePublicConstructor(model, ref constructorHeaders)
|
||||||
.GeneratePublicConstructor(model, ref constructorHeaders, true);
|
.GeneratePublicConstructor(model, ref constructorHeaders, true);
|
||||||
|
|
||||||
|
@ -112,6 +113,40 @@ namespace MapTo.Extensions
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static SourceBuilder GeneratePublicEmptyConstructor(this SourceBuilder builder, MappingModel model, ref List<string> constructorHeaders, bool filterNonMapped = false)
|
||||||
|
{
|
||||||
|
const string mappingContextParameterName = "context";
|
||||||
|
|
||||||
|
foreach (var targetSourceType in model.MappedSourceTypes)
|
||||||
|
{
|
||||||
|
var baseConstructor = /*model.HasMappedBaseClass ? $" : base({mappingContextParameterName}, {sourceClassParameterName})" :*/ string.Empty;
|
||||||
|
|
||||||
|
var constructorHeader =
|
||||||
|
$"public {model.TypeIdentifierName}(){baseConstructor}";
|
||||||
|
|
||||||
|
|
||||||
|
bool hasAlreadyConstructor = false;
|
||||||
|
|
||||||
|
foreach (var header in constructorHeaders)
|
||||||
|
{
|
||||||
|
if(constructorHeader.Contains(header)) hasAlreadyConstructor = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasAlreadyConstructor) continue;
|
||||||
|
|
||||||
|
constructorHeaders.Add(constructorHeader);
|
||||||
|
|
||||||
|
builder
|
||||||
|
.WriteLine(constructorHeader)
|
||||||
|
.WriteOpeningBracket()
|
||||||
|
.WriteClosingBracket()
|
||||||
|
.WriteLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
// End constructor declaration
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
private static bool IsMappedProperty(this System.Collections.Immutable.ImmutableArray<MappedMember> properties, MappedMember property)
|
private static bool IsMappedProperty(this System.Collections.Immutable.ImmutableArray<MappedMember> properties, MappedMember property)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue