コード例 #1
0
        public Package FromEaPackage(EA.Package eaPackage, Path parentPath = null)
        {
            parentPath = parentPath ?? eaPackage.ToPath(_repository);
            var package = new Package
            {
                Id       = eaPackage.PackageID,
                Name     = eaPackage.Name,
                Elements = new List <Element>(),
                Packages = new List <Package>(),
                Diagrams = new List <Diagram>(),
                Path     = parentPath,
            };

            foreach (var e in eaPackage.Elements)
            {
                var eaElement = e as EA.Element;
                package.Elements.Add(CreateElement(eaElement));
            }
            foreach (var p in eaPackage.Packages)
            {
                var eaChildPackage = p as EA.Package;
                var childPackage   = FromEaPackage(eaChildPackage, package.Path);
                package.Packages.Add(childPackage);
            }
            foreach (var d in eaPackage.Diagrams)
            {
                var eaDiagram = d as EA.Diagram;
                var diagram   = CreateDiagram(eaDiagram, package.Path);
                package.Diagrams.Add(diagram);
            }
            return(package);
        }