示例#1
0
        private async Task exportProjectResults(FileInfo projectFile, DirectoryInfo originalDirectory, DirectoryInfo afterConversionDirectory, DirectoryInfo newDirectory, DirectoryInfo pkmlOldDirectory, DirectoryInfo pkmlNewDirectory)
        {
            int simulationCount = 0;
            var begin           = DateTime.UtcNow;

            _logger.AddInSeparator($"Loading simulations in project file '{projectFile.FullName}'");

            _workspacePersistor.LoadSession(_workspace, projectFile.FullName);
            var project = _workspace.Project;

            foreach (var simulation in project.All <IndividualSimulation>())
            {
                try
                {
                    var res = await exportSimulation(originalDirectory, afterConversionDirectory, newDirectory, pkmlOldDirectory, pkmlNewDirectory, simulation, project);

                    if (res)
                    {
                        simulationCount++;
                    }
                }
                catch (Exception e)
                {
                    _logger.AddError(e.FullMessage());
                    _logger.AddError(e.FullStackTrace());
                }
            }

            var end       = DateTime.UtcNow;
            var timeSpent = end - begin;

            _workspace.CloseProject();
            _logger.AddInfo($"{simulationCount} simulations exported from project '{projectFile.FullName}' in {timeSpent.ToDisplay()}");
        }
示例#2
0
        public Task ExecuteTask(Action action)
        {
            return(Task.Run(() =>
            {
                _projectTask.NewProject();

                action();

                _workspace.CloseProject();
            }));
        }
 private void closeProject()
 {
     _workspace.CloseProject();
     _applicationController.CloseAll();
 }