public ProjectMetaData MapFrom(PKSimProject project)
        {
            var projectMetaData = new ProjectMetaData();

            project.All <IPKSimBuildingBlock>().Each(x => projectMetaData.AddBuildingBlock(mapFrom(x)));
            project.AllSimulationComparisons.Each(x => projectMetaData.AddSimulationComparison(mapFrom(x)));
            project.AllParameterIdentifications.Each(x => projectMetaData.AddParameterIdentification(mapFrom(x)));
            project.AllSensitivityAnalyses.Each(x => projectMetaData.AddSensitivityAnalysis(mapFrom(x)));
            project.AllObservedData.Each(x => projectMetaData.AddObservedData(mapFrom(x)));

            projectMetaData.Name         = project.Name;
            projectMetaData.Description  = project.Description;
            projectMetaData.Content.Data = _serializationManager.Serialize(project);
            _metaData = null;
            return(projectMetaData);
        }
        public override void GlobalContext()
        {
            base.GlobalContext();
            _projectMetaData = new ProjectMetaData {
                Name = "Project"
            };
            _simulationMetaData = new SimulationMetaData {
                Id = "PopSim", SimulationMode = SimulationMode.Population, Name = "Sim"
            };
            _simulationMetaData.SimulationResults = DomainHelperForSpecs.CreateSimulationResults(_numberOfIndividuals, numberOfPaths: 2);
            _projectMetaData.AddBuildingBlock(_simulationMetaData);

            using (var session = _sessionFactory.OpenSession())
                using (var transaction = session.BeginTransaction())
                {
                    session.Save(_projectMetaData);
                    transaction.Commit();
                }
        }
Ejemplo n.º 3
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _projectMetaData = new ProjectMetaData {
                Name = "Project"
            };
            _simulationMetaData = new SimulationMetaData {
                Id = "Id", SimulationMode = SimulationMode.Individual, Name = "Sim"
            };
            _simulationChartMetaData = new SimulationChartMetaData {
                Id = "Chart", Name = "Chart"
            };
            _simulationMetaData.Charts.Add(_simulationChartMetaData);
            _projectMetaData.AddBuildingBlock(_simulationMetaData);

            //save project once
            using (var session = _sessionFactory.OpenSession())
                using (var transaction = session.BeginTransaction())
                {
                    session.Save(_projectMetaData);
                    transaction.Commit();
                }

            //then delete chart to simulation lazy loading
            _simulationMetaData.Charts.Clear();
            _simulationMetaData.Content.Data = null;
            _simulationMetaData.IsLoaded.ShouldBeFalse();

            //update project again. The charts should not be clear
            using (var session = _sessionFactory.OpenSession())
                using (var transaction = session.BeginTransaction())
                {
                    var projectMetaData = session.CreateCriteria <ProjectMetaData>().List <ProjectMetaData>().First();
                    projectMetaData.UpdateFrom(_projectMetaData, session);
                    transaction.Commit();
                }
        }