public void Contribute(MappingStrategy strategy) { var properties = strategy.Source.GetProperties(); foreach (var targetProperty in strategy.Target.GetProperties()) { var sourceProperty = Array.Find(properties, p => p.Name == targetProperty.Name); if (sourceProperty != null) { var assign = new Assign(targetProperty, sourceProperty); strategy.AddMappingStep(assign); } } foreach (var mappingStep in strategy.ConstructorParameterMappingSteps.ByKey) { if (mappingStep.Value == null) { var sourceProperty = Array.Find(properties, p => string.Equals(p.Name, mappingStep.Key.Name, StringComparison.OrdinalIgnoreCase)); if (sourceProperty != null) { var assign = new ConstructorAssign(mappingStep.Key, sourceProperty); mappingStep.UpdateValue(assign); } } } }
public void Contribute(MappingStrategy strategy) { foreach (var targetProperty in strategy.Target.GetProperties()) { var sourceProperty = strategy.Source.GetProperties().FirstOrDefault(p => p.Name == targetProperty.Name); if (sourceProperty != null) { var assign = new Assign(targetProperty, sourceProperty); strategy.AddMappingStep(assign); } } }
public void Contribute(MappingStrategy strategy) { foreach (var targetProperty in strategy.Target.GetProperties().Where(p => p.Name.EndsWith(targetPropertyNameSuffix, StringComparison.OrdinalIgnoreCase))) { var expectedName = GetExpectedName(targetProperty); var sourceProperty = strategy.Source.GetProperties().FirstOrDefault(p => p.Name == expectedName); if (sourceProperty != null) { var assign = new Assign(targetProperty, sourceProperty); strategy.AddMappingStep(assign); } } }