Пример #1
0
        public override IReadOnlyCollection <object> Report(Simulation simulation, OSPSuiteTracker buildTracker)
        {
            _lazyLoadTask.Load(simulation);
            var chapter = new Chapter(simulation.Name);
            var report  = new List <object> {
                chapter
            };

            buildTracker.AddReference(simulation, chapter);
            report.AddRange(this.ReportDescription(simulation, buildTracker));
            report.Add(new Section(PKSimConstants.UI.UsedBuildingBlocks));
            report.Add(simulation.UsedBuildingBlocks);

            report.Add(new Section(PKSimConstants.UI.SimulationProperties));
            report.Add(simulation.Properties);

            addHistograms(simulation, report);

            if (simulation.Analyses.Any())
            {
                report.Add(simulation.Analyses.ToList());
            }

            return(report);
        }
Пример #2
0
        public override void Build(CompoundProperties compoundProperties, OSPSuiteTracker buildTracker)
        {
            var objectsToReport = new List <object>();
            var compoundConfig  = new TablePart(PKSimConstants.UI.Parameter, PKSimConstants.UI.AlternativeInCompound, PKSimConstants.UI.Value, PKSimConstants.UI.Unit)
            {
                Caption = PKSimConstants.UI.CompoundConfiguration
            };

            compoundConfig.Types[PKSimConstants.UI.Value] = typeof(double);

            var compound = compoundProperties.Compound;

            foreach (var alternativeSelection in compoundProperties.CompoundGroupSelections)
            {
                var parameterName = _representationInfoRepository.DisplayNameFor(RepresentationObjectType.GROUP, alternativeSelection.GroupName);
                var parameter     = getParameterForAlternative(compound, compoundProperties, alternativeSelection);
                compoundConfig.AddIs(parameterName, alternativeSelection.AlternativeName, ParameterMessages.DisplayValueFor(parameter, numericalDisplayOnly: true), ParameterMessages.DisplayUnitFor(parameter));
            }

            objectsToReport.Add(buildTracker.CreateRelativeStructureElement(PKSimConstants.UI.CompoundConfiguration, 2));
            objectsToReport.Add(compoundConfig);

            objectsToReport.Add(compoundProperties.AllCalculationMethods().Where(cm => cm.Category.IsOneOf(CoreConstants.Category.DistributionCellular, CoreConstants.Category.DistributionInterstitial, CoreConstants.Category.DiffusionIntCell)));

            _builderRepository.Report(objectsToReport, buildTracker);
        }
Пример #3
0
        public override void Build(IParameter parameter, OSPSuiteTracker buildTracker)
        {
            var parameterDisplay = PKSimConstants.UI.ReportIs(_representationInfoRepository.DisplayNameFor(parameter), ParameterMessages.DisplayValueFor(parameter));

            _texBuilderRepository.Report(parameterDisplay, buildTracker);
            _texBuilderRepository.Report(new LineBreak(), buildTracker);
        }
Пример #4
0
        public override void Build(FormulaTextBox formulaTextBox, OSPSuiteTracker buildTracker)
        {
            var formula = formulaTextBox.Formula;

            if (string.IsNullOrEmpty(formula.Name))
            {
                return;
            }

            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(formula, buildTracker));

            var formulaText = new Text(formula.ToString())
            {
                Converter = FormulaConverter.Instance
            };

            formulaText = new Text("{0} = {1}", formula.Name, formulaText)
            {
                Alignment = Text.Alignments.flushleft
            };
            var content = new Text("{0}{1}", formulaText, formula.ObjectPaths);

            listToReport.Add(new TextBox(formulaTextBox.Caption, content));

            _builderRepository.Report(listToReport, buildTracker);
        }
Пример #5
0
        public override void Build(IEventBuilder eventBuilder, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            listToReport.Add(new Paragraph(eventBuilder.Name));
            listToReport.AddRange(this.ReportDescription(eventBuilder, buildTracker));

            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.TYPE, eventBuilder.ContainerType));
            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.MODE, eventBuilder.Mode));
            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.ONE_TIME, eventBuilder.OneTime));

            listToReport.Add(new SubParagraph(Constants.CONDITION));
            listToReport.Add(eventBuilder.Formula);

            if (eventBuilder.Assignments.Any())
            {
                listToReport.Add(new SubParagraph(Constants.EVENT_ASSIGNMENTS));
                listToReport.AddRange(eventBuilder.Assignments.OrderBy(o => o.Name));
            }
            if (eventBuilder.Parameters.Any())
            {
                listToReport.Add(new SubParagraph(Constants.PARAMETERS));
                listToReport.Add(eventBuilder.Parameters.OrderBy(o => o.Name));
            }

            _builderRepository.Report(listToReport, buildTracker);
        }
        public override void Build(BlackBoxFormula blackBoxFormula, OSPSuiteTracker tracker)
        {
            if (String.IsNullOrEmpty(blackBoxFormula.Name))
            {
                return;
            }

            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(blackBoxFormula, tracker));


            var formula = new Text(blackBoxFormula.ToString())
            {
                Converter = FormulaConverter.Instance
            };

            formula = new Text("{0} = {1}", blackBoxFormula.Name, formula)
            {
                Alignment = Text.Alignments.flushleft
            };
            var content = new Text("{0}{1}", formula, blackBoxFormula.ObjectPaths);

            listToReport.Add(new TextBox(Constants.BLACK_BOX_FORMULA, content));

            _builderRepository.Report(listToReport, tracker);
        }
        public override void Build(IReactionBuilder reactionBuilder, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(reactionBuilder, buildTracker));

            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.MODE, reactionBuilder.Mode));

            listToReport.Add(new Paragraph(Constants.STOICHIOMETRY));
            listToReport.Add(_stoichiometricStringCreator.CreateFrom(reactionBuilder.Educts,
                                                                     reactionBuilder.Products));
            if (reactionBuilder.ModifierNames.Any())
            {
                listToReport.Add(new Paragraph(Constants.MODIFIERS));
                foreach (var modifier in reactionBuilder.ModifierNames)
                {
                    listToReport.Add(modifier);
                }
            }

            listToReport.Add(new Paragraph(Constants.KINETIC));
            listToReport.Add(reactionBuilder.Formula);

            if (reactionBuilder.Parameters.Any())
            {
                listToReport.Add(new Paragraph(Constants.PARAMETERS));
                listToReport.Add(reactionBuilder.Parameters.OrderBy(x => x.Name));
            }

            _builderRepository.Report(listToReport, buildTracker);
        }
Пример #8
0
        public override void Build(IReadOnlyList <ISimulationAnalysis> analyses, OSPSuiteTracker buildTracker)
        {
            var report = new List <object>();

            // add population result charts
            var charts = analyses.OfType <SimulationTimeProfileChart>().ToArray();

            if (charts.Any())
            {
                report.Add(new Section(PKSimConstants.UI.Charts));
                foreach (var chart in charts)
                {
                    if (!chart.Curves.Any())
                    {
                        continue;
                    }

                    report.Add(new SubSection(chart.Name));
                    report.Add(chart);
                    report.Add(new IndividualPKAnalyses(chart.Analysable.DowncastTo <Simulation>(), chart));
                }
            }

            addAnalysesReports <TimeProfileAnalysisChart>(analyses, PKSimConstants.UI.TimeProfileAnalysis, report);
            addAnalysesReports <BoxWhiskerAnalysisChart>(analyses, PKSimConstants.UI.BoxWhiskerAnalysis, report);
            addAnalysesReports <ScatterAnalysisChart>(analyses, PKSimConstants.UI.ScatterAnalysis, report);
            addAnalysesReports <RangeAnalysisChart>(analyses, PKSimConstants.UI.RangeAnalysis, report);

            _builderRepository.Report(report, buildTracker);
        }
Пример #9
0
        public override void Build(SumFormula sumFormula, OSPSuiteTracker buildTracker)
        {
            if (String.IsNullOrEmpty(sumFormula.Name))
            {
                return;
            }

            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(sumFormula, buildTracker));

            var formula = new Text("${0}$",
                                   new Text(OSPSuite.TeXReporting.TeX.EquationWriter.Sum(String.Empty, String.Empty,
                                                                                         DefaultConverter.Instance.StringToTeX(sumFormula.Variable)))
            {
                Converter = NoConverter.Instance
            })
            {
                Converter = NoConverter.Instance
            };
            var content = new Text("{0} = {1}{2}{3}{4}",
                                   sumFormula.Name, formula, new LineBreak(), Constants.OVER_ALL_PARAMETERS_WITH, sumFormula.Criteria);

            listToReport.Add(new TextBox(Constants.SUM_FORMULA, content));

            _builderRepository.Report(listToReport, buildTracker);
        }
        public override void Build(SimulationProperties simulationProperties, OSPSuiteTracker buildTracker)
        {
            var objectsToReport = new List <object>();

            objectsToReport.Add(new SubSection(PKSimConstants.UI.ModelStructure));

            var part = new ReportPart {
                Title = PKSimConstants.UI.AllowAging
            };

            part.AddToContent(simulationProperties.AllowAging ? PKSimConstants.UI.Yes : PKSimConstants.UI.No);
            objectsToReport.Add(part);
            objectsToReport.Add(_reportGenerator.ReportFor(simulationProperties.ModelProperties));

            objectsToReport.Add(new SubSection(PKSimConstants.UI.SimulationCompoundsConfiguration));
            objectsToReport.AddRange(getObjectsToReport(simulationProperties, buildTracker, cp => cp));

            if (anyProcessesDefined(simulationProperties))
            {
                objectsToReport.Add(new SubSection(PKSimConstants.UI.Processes));
                objectsToReport.AddRange(getObjectsToReport(simulationProperties, buildTracker, cp => cp.Processes.Any() ? cp.Processes : null));
            }

            objectsToReport.Add(new SubSection(PKSimConstants.UI.Administration));
            objectsToReport.AddRange(getObjectsToReport(simulationProperties, buildTracker, cp => cp.ProtocolProperties.Protocol == null ? null : cp.ProtocolProperties));

            if (anyEventsDefined(simulationProperties))
            {
                objectsToReport.Add(new SubSection(PKSimConstants.UI.SimulationEventsConfiguration));
                objectsToReport.Add(simulationProperties.EventProperties);
            }

            _texBuilderRepository.Report(objectsToReport, buildTracker);
        }
Пример #11
0
        public override void Build(T process, OSPSuiteTracker buildTracker)
        {
            string processDisplay = _representationInfoRepository.DisplayNameFor(RepresentationObjectType.PROCESS, process.InternalName);

            _builderRepository.Report(process.Name.AsFullLine(), buildTracker);
            _builderRepository.Report(this.ReportValue(PKSimConstants.UI.ProcessType, processDisplay), buildTracker);
            _builderRepository.Report(this.ReportDescription(process, buildTracker), buildTracker);
            _builderRepository.Report(tableParameterFor(process), buildTracker);
        }
        public override void Build(Tags tags, OSPSuiteTracker tracker)
        {
            var listToReport = new List <object>();

            listToReport.Add(new SubParagraph(Constants.TAGS));
            listToReport.Add(listFor(tags));

            _builderRepository.Report(listToReport, tracker);
        }
Пример #13
0
        public override void Build(IEnumerable <IParameter> parameters, OSPSuiteTracker buildTracker)
        {
            var listToReport            = new List <object>();
            var sortedParameters        = parameters.OrderBy(x => x.Name).ToList();
            var parameterConstantsTable = tableForConstants(sortedParameters, buildTracker.Settings.Verbose);

            if (parameterConstantsTable.Rows.Count > 0)
            {
                listToReport.Add(new SubParagraph(Constants.CONSTANTS));
                listToReport.Add(parameterConstantsTable);
            }

            if (sortedParameters.Count > parameterConstantsTable.Rows.Count)
            {
                listToReport.Add(new SubParagraph(Constants.PARAMETERS));
                foreach (var parameter in sortedParameters)
                {
                    var constant = parameter.Formula as ConstantFormula;
                    if (constant != null)
                    {
                        continue;
                    }

                    listToReport.Add(new SubParagraph(parameter.Name));

                    var distributedParameter = parameter as DistributedParameter;
                    if (distributedParameter != null)
                    {
                        listToReport.Add(new Par());
                        listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.BUILD_MODE, distributedParameter.BuildMode));
                        listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.PERCENTILE, distributedParameter.Percentile));
                        listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.CAN_BE_VARIED, distributedParameter.CanBeVaried));
                        listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.VISIBLE, distributedParameter.Visible));
                        listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.VALUE,
                                                       String.Format("{0} {1}",
                                                                     _reportingHelper.ConvertToDisplayUnit(
                                                                         distributedParameter.DisplayUnit,
                                                                         distributedParameter.Dimension,
                                                                         (float)distributedParameter.Value),
                                                                     _reportingHelper.GetDisplayUnitFor(distributedParameter).Name)));
                    }

                    listToReport.Add(parameter.Formula);

                    listToReport.Add(new Par());
                    listToReport.Add(parameter.RHSFormula);

                    if (parameter.Tags.Any())
                    {
                        listToReport.Add(new Par());
                        listToReport.Add(parameter.Tags);
                    }
                }
            }

            _builderRepository.Report(listToReport, buildTracker);
        }
Пример #14
0
        public override void Build(CompoundProcessesSelection processes, OSPSuiteTracker buildTracker)
        {
            var thisSection = new List <object>();

            thisSection.AddRange(processSelection(processes.MetabolizationSelection, buildTracker.GetStructureElementRelativeToLast(PKSimConstants.UI.SimulationMetabolism, 2)));
            thisSection.AddRange(processSelection(processes.TransportAndExcretionSelection, buildTracker.GetStructureElementRelativeToLast(PKSimConstants.UI.SimulationTransportAndExcretion, 2)));
            thisSection.AddRange(processSelection(processes.SpecificBindingSelection, buildTracker.GetStructureElementRelativeToLast(PKSimConstants.UI.SimulationSpecificBinding, 2)));

            _builderRepository.Report(thisSection, buildTracker);
        }
Пример #15
0
        public override void Build(TBuildingBlock buildingBlock, OSPSuiteTracker tracker)
        {
            _lazyLoadTask.Load(buildingBlock);
            var section = new Section(buildingBlock.Name);

            tracker.AddReference(buildingBlock, section);

            _builderRepository.Report(section, tracker);
            _builderRepository.Report(this.ReportDescription(buildingBlock, tracker), tracker);
            _builderRepository.Report(BuildingBlockReport(buildingBlock, tracker), tracker);
        }
Пример #16
0
        private IEnumerable <object> getReportObjectsFor(PKAnalysesTable pkAnalyses, OSPSuiteTracker buildTracker)
        {
            var reportObjects = new List <object>();

            foreach (var curveName in pkAnalyses.AllCurveNames)
            {
                reportObjects.Add(buildTracker.GetStructureElementRelativeToLast(curveName, 1));
                reportObjects.Add(pkAnalyses.PKTableFor(curveName));
            }

            return(reportObjects);
        }
Пример #17
0
        public override void Build(IEventAssignmentBuilder eventAssignmentBuilder, OSPSuiteTracker tracker)
        {
            var listToReport = new List <object>();

            listToReport.Add(new SubParagraph(eventAssignmentBuilder.Name));
            listToReport.AddRange(this.ReportDescription(eventAssignmentBuilder, tracker));
            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.DIMENSION, eventAssignmentBuilder.Dimension));
            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.ASSIGNMENT, eventAssignmentBuilder.ObjectPath.PathAsString));
            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.USE_AS_VALUE, eventAssignmentBuilder.UseAsValue));
            listToReport.Add(eventAssignmentBuilder.Formula);

            _builderRepository.Report(listToReport, tracker);
        }
Пример #18
0
        public override void Build(ExplicitFormula explicitFormula, OSPSuiteTracker buildTracker)
        {
            if (String.IsNullOrEmpty(explicitFormula.Name))
            {
                return;
            }

            var listToReport = new List <object>
            {
                new FormulaTextBox(Constants.EXPLICIT_FORMULA, explicitFormula)
            };

            _builderRepository.Report(listToReport, buildTracker);
        }
Пример #19
0
        public override void Build(RandomPopulationSettings populationSettings, OSPSuiteTracker tracker)
        {
            var objectToReports = new List <object>
            {
                new SubSection(PKSimConstants.UI.PopulationProperties),
                this.ReportValue(PKSimConstants.UI.NumberOfIndividuals, populationSettings.NumberOfIndividuals)
            };

            objectToReports.AddRange(populationSettings.GenderRatios.SelectMany(reportFor));

            objectToReports.Add(new SubSection(PKSimConstants.UI.PopulationParameterRanges));
            objectToReports.Add(parameterRangeTable(populationSettings.ParameterRanges));
            _builderRepository.Report(objectToReports, tracker);
        }
Пример #20
0
        public override void Build(Formula formula, OSPSuiteTracker buildTracker)
        {
            if (string.IsNullOrEmpty(formula.Name))
            {
                return;
            }

            var listToReport = new List <object>
            {
                new FormulaTextBox(FORMULA, formula)
            };

            _builderRepository.Report(listToReport, buildTracker);
        }
        public override void Build(IObserverBuilder observerBuilder, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(observerBuilder, buildTracker));

            var amountObserver    = observerBuilder as AmountObserverBuilder;
            var containerObserver = observerBuilder as ContainerObserverBuilder;

            if (amountObserver != null)
            {
                listToReport.Add(string.Format(PROPERTY_PROMPT_FORMAT, TYPE, Captions.MoleculeObserver));
            }

            if (containerObserver != null)
            {
                listToReport.Add(string.Format(PROPERTY_PROMPT_FORMAT, TYPE, Captions.ContainerObserver));
            }

            listToReport.Add(string.Format(PROPERTY_PROMPT_FORMAT, DIMENSION, observerBuilder.Dimension));

            var hasExcludedMolecules = observerBuilder.MoleculeNamesToExclude().Any();

            if (observerBuilder.ForAll)
            {
                if (hasExcludedMolecules)
                {
                    listToReport.Add(new Paragraph(CALCULATED_FOR_ALL_MOLECULES_EXCEPT));
                    listToReport.Add(observerBuilder.MoleculeNamesToExclude().ToArray());
                }
                else
                {
                    listToReport.Add(string.Format(PROPERTY_PROMPT_FORMAT, CALCULATED_FOR_ALL_MOLECULES, observerBuilder.ForAll));
                }
            }
            else
            {
                listToReport.Add(new Paragraph(CALCULATED_FOR_FOLLOWING_MOLECULES));
                listToReport.Add(observerBuilder.MoleculeNames().ToArray());
            }

            listToReport.Add(new Paragraph(IN_CONTAINERS_WITH));
            listToReport.Add(observerBuilder.ContainerCriteria);

            listToReport.Add(new Paragraph(MONITOR));
            listToReport.Add(observerBuilder.Formula);

            _builderRepository.Report(listToReport, buildTracker);
        }
Пример #22
0
        public override IReadOnlyCollection <object> Report(IPKSimProject project, OSPSuiteTracker tracker)
        {
            var list           = new List <object>();
            var buildingBlocks = project.All(PKSimBuildingBlockType.Template).ToList();

            if (buildingBlocks.Any())
            {
                list.Add(new Part(PKSimConstants.UI.BuildingBlocks));
                list.AddRange(_buildingBlocksReporter.Report(buildingBlocks, tracker));
            }
            list.AddRange(_simulationsReporter.Report(project.All <Simulation>().ToList(), tracker));
            list.AddRange(_simulationComparisonsReporter.Report(project.AllSimulationComparisons.ToList(), tracker));
            list.AddRange(_observedDataReporter.Report(project.AllObservedData.ToList(), tracker));
            return(list);
        }
        public override void Build(IEntity entity, OSPSuiteTracker tracker)
        {
            var listToReport = new List <object>();

            listToReport.Add(String.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.NAME, entity.Name));

            listToReport.AddRange(this.ReportDescription(entity, tracker));

            if (entity.Tags.Any())
            {
                listToReport.Add(entity.Tags);
            }

            _builderRepository.Report(listToReport, tracker);
        }
        public override void Build(ImportPopulationSettings importSettings, OSPSuiteTracker tracker)
        {
            var objectToReports = new List <object>();

            objectToReports.Add(new SubSection(PKSimConstants.UI.PopulationProperties));

            objectToReports.Add(new Text("{0}: {1}",
                                         PKSimConstants.UI.BasedOnIndividual,
                                         importSettings.BaseIndividual.Name));

            objectToReports.Add(new SubSection("List of Imported Files"));
            objectToReports.Add(getTableFor(importSettings.AllFiles));

            _builderRepository.Report(objectToReports, tracker);
        }
        public override void Build(TableFormula tableFormula, OSPSuiteTracker buildTracker)
        {
            if (String.IsNullOrEmpty(tableFormula.Name))
            {
                return;
            }

            var listToReport = new List <object>();

            listToReport.Add(new Paragraph(Constants.TABLE_FORMULA));
            listToReport.Add(string.Format(Constants.PROPERTY_PROMPT_FORMAT, tableFormula.Name, tableFormula.ToString()));
            listToReport.AddRange(this.ReportDescription(tableFormula, buildTracker));
            listToReport.Add(new Table(toDataTable(tableFormula.AllPoints()).DefaultView, Constants.TABLE_POINTS));

            _builderRepository.Report(listToReport, buildTracker);
        }
        public override void Build(DataRepository dataRepository, OSPSuiteTracker tracker)
        {
            _builderRepository.Report(new Section(dataRepository.Name), tracker);

            foreach (var prop in dataRepository.ExtendedProperties)
            {
                _builderRepository.Report(string.Format(Constants.PROPERTY_PROMPT_FORMAT, prop.Name, prop.ValueAsObject),
                                          tracker);
            }

            foreach (var table in tablesFor(dataRepository))
            {
                _builderRepository.Report(new SubSection(table.TableName), tracker);
                _builderRepository.Report(table, tracker);
            }
        }
        public override void Build(IMoleculeBuilder moleculeBuilder, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            listToReport.AddRange(this.ReportDescription(moleculeBuilder, buildTracker));


            listToReport.Add(string.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.MOLECULE_TYPE, moleculeBuilder.QuantityType.ToString()));
            listToReport.Add(string.Format(Constants.PROPERTY_PROMPT_FORMAT, Constants.IS_STATIONARY, (!moleculeBuilder.IsFloating).ToString()));

            if (!string.IsNullOrEmpty(moleculeBuilder.DefaultStartFormula.Name))
            {
                listToReport.Add(new Paragraph(Constants.MOLECULE_START_VALUES));
                listToReport.Add(moleculeBuilder.DefaultStartFormula);
            }

            if (moleculeBuilder.TransporterMoleculeContainerCollection.Any())
            {
                foreach (var transporter in moleculeBuilder.TransporterMoleculeContainerCollection)
                {
                    listToReport.Add(new Paragraph(transporter.Name));

                    listToReport.Add(new SubParagraph(Constants.ACTIVE_TRANSPORTS));
                    listToReport.Add(transporter.ActiveTransportRealizations);

                    if (transporter.Parameters.Any())
                    {
                        listToReport.Add(new SubParagraph(Constants.PARAMETERS));
                        listToReport.Add(transporter.Parameters.OrderBy(o => o.Name));
                    }
                }
            }
            if (moleculeBuilder.UsedCalculationMethods.Any())
            {
                listToReport.Add(new Paragraph(Constants.CALCULATION_METHODS));
                listToReport.Add(moleculeBuilder.UsedCalculationMethods);
            }

            if (moleculeBuilder.Parameters.Any())
            {
                listToReport.Add(new Paragraph(Constants.PARAMETERS));
                listToReport.Add(moleculeBuilder.Parameters.OrderBy(o => o.Name));
            }

            _builderRepository.Report(listToReport, buildTracker);
        }
        public override IReadOnlyCollection <object> Report(CurveChart chart, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            if (chart.Curves.Count == 0)
            {
                return(listToReport);
            }

            listToReport.Add(new Chapter(Constants.CHART));
            if (!String.IsNullOrEmpty(chart.Name))
            {
                listToReport.Add(new Section(chart.Name));
            }
            listToReport.Add(chart);

            return(listToReport);
        }
Пример #29
0
        public override void Build(TMolecule molecule, OSPSuiteTracker buildTracker)
        {
            var sb = new StringBuilder();

            sb.AppendLine(molecule.Name);
            sb.AddIs(_representationInfoRepository.DisplayNameFor(molecule.ReferenceConcentration), ParameterMessages.DisplayValueFor(molecule.ReferenceConcentration));
            sb.AddIs(_representationInfoRepository.DisplayNameFor(molecule.HalfLifeLiver), ParameterMessages.DisplayValueFor(molecule.HalfLifeLiver));
            sb.AddIs(_representationInfoRepository.DisplayNameFor(molecule.HalfLifeIntestine), ParameterMessages.DisplayValueFor(molecule.HalfLifeIntestine));
            sb.AddIs(PKSimConstants.UI.OntogenyVariabilityLike, molecule.Ontogeny.Name);

            _builderRepository.Report(sb, buildTracker);

            //specific part
            AddMoleculeSpecificReportPart(molecule, buildTracker);

            _builderRepository.Report(PKSimConstants.UI.NormalizedExpressionLevels, buildTracker);
            _builderRepository.Report(ExpressionLevelParameters(molecule), buildTracker);
        }
        public override IReadOnlyCollection <object> Report(IMoBiProject project, OSPSuiteTracker buildTracker)
        {
            var listToReport = new List <object>();

            listToReport.Add(new Part(Constants.BUILDING_BLOCKS));
            listToReport.AddRange(_spatialStructuresReporter.Report(project.SpatialStructureCollection.ToList(), buildTracker));
            listToReport.AddRange(new MoleculeBuildingBlocksReporter().Report(project.MoleculeBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(_reactionBuildingBlocksReporter.Report(project.ReactionBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(new PassiveTransportBuildingBlocksReporter().Report(project.PassiveTransportCollection.ToList(), buildTracker));
            listToReport.AddRange(new ObserverBuildingBlocksReporter().Report(project.ObserverBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(_simulationSettingsReporter.Report(project.SimulationSettingsCollection.ToList(), buildTracker));
            listToReport.AddRange(new EventGroupBuildingBlocksReporter().Report(project.EventBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(new MoleculeStartValuesBuildingBlocksReporter(_displayUnitRetriever).Report(project.MoleculeStartValueBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(new ParameterStartValuesBuildingBlocksReporter(_displayUnitRetriever).Report(project.ParametersStartValueBlockCollection.ToList(), buildTracker));
            listToReport.AddRange(new ObservedDataReporter().Report(project.AllObservedData.ToList(), buildTracker));
            listToReport.AddRange(_simulationsReporter.Report(project.Simulations.ToList(), buildTracker));
            listToReport.AddRange(new ChartsReporter().Report(project.Charts.ToList(), buildTracker));
            return(listToReport);
        }