Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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");
        }