From 0327ab41a64f3c29e683efe1d693d2dd36053e31 Mon Sep 17 00:00:00 2001 From: Mohammadreza Taikandi Date: Sat, 19 Dec 2020 09:07:35 +0000 Subject: [PATCH] Update model property names to better reflect the source type. --- MapTo/MapToGenerator.cs | 6 +++--- MapTo/Models/MapModel.cs | 17 +++++++---------- MapTo/SourceProvider.cs | 14 +++++++------- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/MapTo/MapToGenerator.cs b/MapTo/MapToGenerator.cs index e83bc82..174d458 100644 --- a/MapTo/MapToGenerator.cs +++ b/MapTo/MapToGenerator.cs @@ -66,9 +66,9 @@ namespace MapTo classModifiers: classSyntax.GetClassModifier(), className: classSyntax.GetClassName(), properties: classSymbol.GetAllMembersOfType(), - destinationNamespace: destinationTypeSymbol.ContainingNamespace.Name, - destinationClassName: destinationTypeSymbol.Name, - destinationTypeProperties: destinationTypeSymbol.GetAllMembersOfType()); + sourceNamespace: destinationTypeSymbol.ContainingNamespace.Name, + sourceClassName: destinationTypeSymbol.Name, + sourceTypeProperties: destinationTypeSymbol.GetAllMembersOfType()); } private static ITypeSymbol? GetDestinationTypeSymbol(ClassDeclarationSyntax classSyntax, SemanticModel model) diff --git a/MapTo/Models/MapModel.cs b/MapTo/Models/MapModel.cs index 2ccf530..4fe15ea 100644 --- a/MapTo/Models/MapModel.cs +++ b/MapTo/Models/MapModel.cs @@ -1,20 +1,19 @@ using System.Collections.Generic; -using System.Linq; using Microsoft.CodeAnalysis; namespace MapTo.Models { public class MapModel { - public MapModel(string? ns, string classModifiers, string className, IEnumerable properties, string destinationNamespace, string destinationClassName, IEnumerable destinationTypeProperties) + public MapModel(string? ns, string classModifiers, string className, IEnumerable properties, string sourceNamespace, string sourceClassName, IEnumerable sourceTypeProperties) { Namespace = ns; ClassModifiers = classModifiers; ClassName = className; Properties = properties; - DestinationNamespace = destinationNamespace; - DestinationClassName = destinationClassName; - DestinationTypeProperties = destinationTypeProperties; + SourceNamespace = sourceNamespace; + SourceClassName = sourceClassName; + SourceTypeProperties = sourceTypeProperties; } public string? Namespace { get; } @@ -25,12 +24,10 @@ namespace MapTo.Models public IEnumerable Properties { get; } - public string DestinationNamespace { get; } + public string SourceNamespace { get; } - public string DestinationClassName { get; } + public string SourceClassName { get; } - public IEnumerable DestinationTypeProperties { get; } - - public bool IsEmpty => !Properties.Any() || !DestinationTypeProperties.Any(); + public IEnumerable SourceTypeProperties { get; } } } \ No newline at end of file diff --git a/MapTo/SourceProvider.cs b/MapTo/SourceProvider.cs index 39a1c51..6d80a63 100644 --- a/MapTo/SourceProvider.cs +++ b/MapTo/SourceProvider.cs @@ -79,9 +79,9 @@ namespace MapTo { builder.AppendLine("using System;"); - if (!string.IsNullOrWhiteSpace(model.DestinationNamespace) && model.Namespace != model.DestinationNamespace) + if (!string.IsNullOrWhiteSpace(model.SourceNamespace) && model.Namespace != model.SourceNamespace) { - builder.AppendFormat("using {0};", model.DestinationNamespace).AppendLine(); + builder.AppendFormat("using {0};", model.SourceNamespace).AppendLine(); } return builder.AppendLine(); @@ -89,18 +89,18 @@ namespace MapTo private static StringBuilder GenerateConstructor(this StringBuilder builder, MapModel model, out List mappedProperties) { - var destinationClassParameterName = model.DestinationClassName.ToCamelCase(); + var destinationClassParameterName = model.SourceClassName.ToCamelCase(); builder .PadLeft(Indent2) - .AppendFormat("public {0}({1} {2})", model.ClassName, model.DestinationClassName, destinationClassParameterName) + .AppendFormat("public {0}({1} {2})", model.ClassName, model.SourceClassName, destinationClassParameterName) .AppendOpeningBracket(Indent2) .PadLeft(Indent3) .AppendFormat("if ({0} == null) throw new ArgumentNullException(nameof({0}));", destinationClassParameterName) .AppendLine(); mappedProperties = new List(); - foreach (var propertySymbol in model.DestinationTypeProperties) + foreach (var propertySymbol in model.SourceTypeProperties) { if (model.Properties.Any(p => p.Name == propertySymbol.Name)) { @@ -117,12 +117,12 @@ namespace MapTo private static StringBuilder GenerateFactoryMethod(this StringBuilder builder, MapModel model) { - var destinationClassParameterName = model.DestinationClassName.ToCamelCase(); + var destinationClassParameterName = model.SourceClassName.ToCamelCase(); return builder .AppendLine() .PadLeft(Indent2) - .AppendFormat("public static {0} From({1} {2})", model.ClassName, model.DestinationClassName, destinationClassParameterName) + .AppendFormat("public static {0} From({1} {2})", model.ClassName, model.SourceClassName, destinationClassParameterName) .AppendOpeningBracket(Indent2) .PadLeft(Indent3) .AppendFormat("return {0} == null ? null : new {1}({0});", destinationClassParameterName, model.ClassName)