public static InputInfo CreateInputClassInfo(XPDictionary outputDictionary, string inputPutClass, params ColumnInfo[] columnInfos) { var table = CreateDbTable(inputPutClass, columnInfos); var dataSet = new DataSet(); var inputUnitOfWork = new UnitOfWork(new SimpleDataLayer(new DataSetDataStore(dataSet, AutoCreateOption.DatabaseAndSchema))); var dictionaryMapper = new DictionaryMapper(new[] { table }); dictionaryMapper.Map(outputDictionary, inputUnitOfWork.Dictionary); var classInfo = inputUnitOfWork.Dictionary.QueryClassInfo(null, inputPutClass); return(new InputInfo(classInfo, inputUnitOfWork, dataSet)); }
public void ShouldMapTypeByDictionary() { var source = new Dictionary <string, int>(); source.Add("Prop", 1); source.Add("Prop2", 1); source.Add("Prop3", 1); var mapper = new DictionaryMapper <int, ClassW4Properties>(); var dest = mapper.Map(source); Assert.IsNotNull(dest); Assert.AreEqual(source["Prop"], dest.Prop); Assert.AreEqual(source["Prop2"], dest.Prop2); Assert.AreEqual(source["Prop3"], dest.Prop3); }
public void DictionaryMapper_Success() { var converters = new Dictionary <string, IConverter>(); var converterConfig1 = new ConverterConfiguration() { Id = ID_CONVERTER_1, }; var converter1 = new AllUpperCaseConverter(); converter1.Configure(converterConfig1); converters.Add(converter1.Id, converter1); var leftSideMap1 = new Dictionary <string, List <string> >() { { "FirstName", new List <string>() { "FirstName" } } }; // Create the converters we are targeting var targetConverters = new List <SourceTargetConverter>(); targetConverters.Add(new SourceTargetConverter() { Id = ID_CONVERTER_1, LeftSideMap = leftSideMap1, CombineInputOutput = false }); // Now create the targeted mapping var targetMappings = new List <SourceTargetMapping>(); targetMappings.Add(new SourceTargetMapping() { PrimaryKey = "FirstName", TargetConverters = targetConverters }); var mapperConfig = new MapperConfiguration() { Id = "1234", TransformerId = "6678", SourceTargetMappings = targetMappings, DataType = TYPE_MOCKUSER }; var mapper = new DictionaryMapper(); mapper.Configure(mapperConfig, converters); var dataToConvert = new Dictionary <string, object>() { { "FirstName", "Jane" }, { "LastName", "Doe" }, { "Email", "*****@*****.**" }, { "LastLogin", "06-25-2018 09:03:45.123456" } }; var dataPoint = new KeyValuePair <string, object>("AD User", dataToConvert); var dataRow = new EntityCollection(); dataRow.Entities.Add(dataPoint.Key, dataPoint.Value); var data = mapper.Map(new List <IEntityCollection> { dataRow }); data.Count.Should().Be(1); var user = data[0] as MockUser; user.FirstName.Should().Be("JANE"); }