Example #1
0
        private IReadOnlyList <MAImportFlowSet> GetImportFlows()
        {
            List <MAImportFlowSet> sets = new List <MAImportFlowSet>();

            XmlNode n1 = SyncServer.GetImportAttributeFlows();

            if (n1 == null)
            {
                return(sets.AsReadOnly());
            }

            foreach (XmlNode n2 in n1.SelectNodes("import-flow-set"))
            {
                List <MAImportFlow> flows = new List <MAImportFlow>();

                string mvObjectType = n2.SelectSingleNode("@mv-object-type").InnerText;

                foreach (XmlNode n3 in n2.SelectNodes("import-flows"))
                {
                    string mvAttribute = n3.SelectSingleNode("@mv-attribute").InnerText;

                    foreach (XmlNode n4 in n3.SelectNodes(string.Format("import-flow[@src-ma='{0}']", this.ID.ToMmsGuid())))
                    {
                        MAImportFlow f = new MAImportFlow(n4, mvObjectType, mvAttribute);
                        flows.Add(f);
                    }
                }

                foreach (IGrouping <string, MAImportFlow> g in flows.GroupBy(t => t.CSObjectType))
                {
                    MAImportFlowSet set = new MAImportFlowSet(g.Key, mvObjectType, g.ToList().AsReadOnly());
                    sets.Add(set);
                }
            }

            return(sets.AsReadOnly());
        }