Esempio n. 1
0
        public void MappingDocSeriliazationTest()
        {
            MappingDocument mapDoc     = new MappingDocument();
            MappingElement  mapeElColl = new MappingElement();

            mapeElColl.ClassName      = "Class1";
            mapeElColl.TableName      = "Table1";
            mapeElColl.PrimaryKeyName = "Id";

            MappingRule mapEl = new MappingRule();

            mapEl.ColumnName   = "column1";
            mapEl.FieldName    = "field1";
            mapEl.DefaultValue = "somevalue";

            mapeElColl.Add(mapEl);

            mapDoc.Add(mapeElColl);

            string xml = MappingDocument.GetXml(mapDoc);

            MappingDocument loadedDoc = MappingDocument.LoadFromXml(xml);

            string xml2 = MappingDocument.GetXml(loadedDoc);

            if (xml != xml2)
            {
                throw new AssertFailedException();
            }
        }
Esempio n. 2
0
        public void MappingDataTest()
        {
            DataSet dataSet = LoadDataSetfromXML("DataSet.xsd", "DataSet.xml");

            MappingEngine mapEngine = new MappingEngine();

            string mapFileName = @"BookMapping.xml";

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(mapFileName);

            MappingDocument mapDoc = MappingDocument.LoadFromXml(xmlDoc.OuterXml);

            mapEngine.ProcessMapping(mapDoc, dataSet);
        }
Esempio n. 3
0
        /// <summary>
        /// Creates the default by mapping element.
        /// </summary>
        public static void CreateMapingByPatternComparision(DataTable srcData, MetaClass dstMetaClass, MappingElementBuilder builder)
        {
            if (srcData == null)
            {
                throw new ArgumentNullException("srcData");
            }
            if (dstMetaClass == null)
            {
                throw new ArgumentNullException("dstMetaClass");
            }
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }

            //MappingDocument enDefaultMappingDoc = MappingDocument.LoadFromXml(VCardType.LocRM.GetString("DefaultMapping",
            //                                                                   CultureInfo.GetCultureInfo("en-US")));
            MappingDocument enDefaultMappingDoc = MappingDocument.LoadFromXml(GetWebResourceString("{IbnFramework.OutlookMappingPattern:Outlook2007}",
                                                                                                   CultureInfo.GetCultureInfo("en-US")));

            //MappingDocument ruDefaultMappingDoc = MappingDocument.LoadFromXml(VCardType.LocRM.GetString("DefaultMapping",
            //                                                                  CultureInfo.GetCultureInfo("ru-RU")));
            MappingDocument ruDefaultMappingDoc = MappingDocument.LoadFromXml(GetWebResourceString("{IbnFramework.OutlookMappingPattern:Outlook2007}",
                                                                                                   CultureInfo.GetCultureInfo("ru-RU")));

            MappingElement srcEl = null;
            MappingElement dstEl = null;
            //Recognize source lang and type
            DataColumnCollection dataColl = srcData.Columns;

            //Recognize language pattern
            if (enDefaultMappingDoc != null && enDefaultMappingDoc.Count != 0)
            {
                if (DataColumnSourceIsMatch(dataColl, enDefaultMappingDoc[0]))
                {
                    srcEl = enDefaultMappingDoc[0];
                    if (FieldDestinationIsMatch(dstMetaClass.Fields, enDefaultMappingDoc[0]))
                    {
                        dstEl = enDefaultMappingDoc[0];
                    }
                }
            }

            if (ruDefaultMappingDoc != null && ruDefaultMappingDoc.Count != 0)
            {
                if (DataColumnSourceIsMatch(dataColl, ruDefaultMappingDoc[0]))
                {
                    srcEl = ruDefaultMappingDoc[0];
                    if (FieldDestinationIsMatch(dstMetaClass.Fields, ruDefaultMappingDoc[0]))
                    {
                        dstEl = ruDefaultMappingDoc[0];
                    }
                }
            }

            //Pattern found, build mapping by pattern
            if (srcEl != null && dstEl != null)
            {
                for (int i = 0; i < srcEl.Count; i++)
                {
                    builder.AssignCopyValueRule(srcEl[i].ColumnName, dstEl[i].FieldName);
                }
            }
            else
            {
                //Pattern not found, build mapping by field friendly names comparison
                foreach (DataColumn dataCol in srcData.Columns)
                {
                    CreateMapingByFriendlyNameComparison(dataCol, dstMetaClass, builder);
                }
            }
        }