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()); }