Exemplo n.º 1
0
        private async Task <IEnumerable <Model.Simulation> > allSmulationsFrom(Simulation[] snapshots, ModelProject project)
        {
            var simulations = new List <Model.Simulation>();

            if (snapshots == null)
            {
                return(simulations);
            }

            //do not run tasks in parallel as the same mapper instance may be used concurrently to load two different snapshots
            foreach (var snapshot in snapshots)
            {
                try
                {
                    var simulation = await _simulationMapper.MapToModel(snapshot, project);

                    simulations.Add(simulation);
                }
                catch (Exception e)
                {
                    _logger.AddException(e);
                    _logger.AddError(PKSimConstants.Error.CannotLoadSimulation(snapshot.Name));
                }
            }

            return(simulations);
        }
Exemplo n.º 2
0
        private async Task <IEnumerable <Model.Simulation> > allSimulationsFrom(ModelProject project, ProjectContext projectContext, Simulation[] snapshots, SnapshotContext snapshotContext)
        {
            var simulations = new List <Model.Simulation>();

            if (snapshots == null)
            {
                return(simulations);
            }

            var simulationContext = new SimulationContext(projectContext.RunSimulations, snapshotContext)
            {
                NumberOfSimulationsToLoad = snapshots.Length,
                NumberOfSimulationsLoaded = 1
            };

            //do not run tasks in parallel as the same mapper instance may be used concurrently to load two different snapshots
            foreach (var snapshot in snapshots)
            {
                try
                {
                    var simulation = await _simulationMapper.MapToModel(snapshot, simulationContext);

                    simulations.Add(simulation);
                    simulationContext.NumberOfSimulationsLoaded++;
                }
                catch (Exception e)
                {
                    _logger.AddException(e);
                    _logger.AddError(PKSimConstants.Error.CannotLoadSimulation(snapshot.Name));
                }
            }

            return(simulations);
        }