Exemplo n.º 1
0
 private SimulationMapping simulationMappingFrom(SimulationExport simulationExport, QualifcationConfiguration configuration) =>
 new SimulationMapping
 {
     Path       = relativePath(simulationExport.SimulationFolder, configuration.OutputFolder),
     Project    = simulationExport.Project,
     Simulation = simulationExport.Simulation
 };
Exemplo n.º 2
0
        public async Task <SimulationExport> ExportSimulation(Simulation simulation, ExportRunOptions exportRunOptions, PKSimProject project)
        {
            var projectName      = project.Name;
            var simulationName   = simulation.Name;
            var simulationFolder = Path.Combine(exportRunOptions.OutputFolder, FileHelper.RemoveIllegalCharactersFrom(simulationName));

            DirectoryHelper.CreateDirectory(simulationFolder);

            var simulationExport = new SimulationExport
            {
                Project          = projectName,
                SimulationFolder = simulationFolder,
                Simulation       = simulationName
            };

            var simulationRunOptions = new SimulationRunOptions();

            _lazyLoadTask.Load(simulation);
            _lazyLoadTask.LoadResults(simulation);

            var simulationExportOptions = new SimulationExportOptions
            {
                OutputFolder = simulationFolder,
                ExportMode   = exportRunOptions.ExportMode,
                ProjectName  = projectName,
            };

            if (!simulation.OutputSelections.HasSelection)
            {
                _logger.AddWarning($"Simulation '{simulationName}' does not have any selected output and will not be exported", projectName);
                return(simulationExport);
            }

            if (exportRunOptions.RunSimulation)
            {
                await _simulationExporter.RunAndExport(simulation, simulationRunOptions, simulationExportOptions);
            }

            else if (simulation.HasResults)
            {
                await _simulationExporter.Export(simulation, simulationExportOptions);
            }

            else
            {
                _logger.AddWarning($"Simulation '{simulationName}' does not have any results and will not be exported", projectName);
                return(simulationExport);
            }

            _logger.AddDebug($"Simulation '{simulationName}' exported to '{simulationFolder}'", projectName);
            return(simulationExport);
        }