Exemplo n.º 1
0
        public Package GetElementsByPackage(Path path)
        {
            EA.Package rootPackage = (EA.Package)_repository.Repository.Models.GetAt(0);
            EA.Package eaPackage   = rootPackage.GetPackage(path);
            Package    package     = FromEaPackage(eaPackage, path);
            var        file        = FileNames.GetPackage(_folder, path);

            _jsonSerializer.Value.SerializeToFile(package, file.AbsolutePath);
            return(package);
        }
Exemplo n.º 2
0
        public bool IsValidDiagramPath(Path diagramPath, IFolder folder)
        {
            EA.Package rootPackage = (EA.Package)_repository.Repository.Models.GetAt(0);
            var        packagePath = diagramPath.RemoveLast();      // remove diagram part

            EA.Package package     = rootPackage.GetPackage(packagePath);
            var        diagramName = diagramPath.Parts.Last();

            bool Filter(EA.Diagram diagram) => diagram.Name.Equals(diagramName);

            EA.Diagram eaDiagram = package.Diagrams.Cast <EA.Diagram>().FirstOrDefault(Filter);
            return(eaDiagram == null);
        }
Exemplo n.º 3
0
        public File GetDiagramFile(Path diagramPath, IFolder folder)
        {
            EA.Package rootPackage = (EA.Package)_repository.Repository.Models.GetAt(0);
            var        packagePath = diagramPath.RemoveLast();      // remove diagram part

            EA.Package package     = rootPackage.GetPackage(packagePath);
            var        diagramName = diagramPath.Parts.Last();

            bool Filter(EA.Diagram diagram) => diagram.Name.Equals(diagramName);

            EA.Diagram eaDiagram = package.Diagrams.Cast <EA.Diagram>().FirstOrDefault(Filter);
            if (eaDiagram == null)
            {
                throw new ArgumentException($@"Could not find diagram with path [{diagramPath}]");
            }
            var fileName = $@"{diagramPath}.png";
            var project  = _repository.Repository.GetProjectInterface();
            var file     = new File(folder, fileName);

            project.PutDiagramImageToFile(eaDiagram.DiagramGUID, file.AbsolutePath, 1);
            return(file);
        }