private UpdateSimulationCommand(IMoBiSimulation simulationToUpdate, IModel newModel, IMoBiBuildConfiguration updatedBuildConfiguration, bool wasChanged, string buildingBlockName, string changedBuildingBlockType) { _hasChanged = wasChanged; _simulationToUpdate = simulationToUpdate; _newModel = newModel; _updatedBuildConfiguration = updatedBuildConfiguration; _simulationId = _simulationToUpdate.Id; _changedBuildingBlockName = buildingBlockName; _changedBuildingBlockType = changedBuildingBlockType; ObjectType = ObjectTypes.Simulation; CommandType = AppConstants.Commands.UpdateCommand; if (string.IsNullOrEmpty(_changedBuildingBlockName)) { Description = AppConstants.Commands.ConfigureSimulationDescription(_simulationToUpdate.Name); } else { Description = AppConstants.Commands.UpdateCommandDescription(_simulationToUpdate.Name, _changedBuildingBlockName, _changedBuildingBlockType); } }
public override IMoleculeStartValuesBuildingBlock CreateStartValuesForSimulation(IMoBiBuildConfiguration buildConfiguration) { var simulationStartValues = _startValuesCreator.CreateFrom(buildConfiguration.SpatialStructureInfo.TemplateBuildingBlock, buildConfiguration.MoleculesInfo.TemplateBuildingBlock) .WithName(buildConfiguration.MoleculeStartValuesInfo.TemplateBuildingBlock.Name); var templateValues = UpdateValuesFromTemplate(simulationStartValues, buildConfiguration.MoleculeStartValuesInfo); updateDefaultIsPresentToFalseForSpecificExtendedValues(simulationStartValues, templateValues); return(simulationStartValues); }
public UpdateSimulationCommand(IMoBiSimulation simulationToUpdate, IModel newModel, IMoBiBuildConfiguration updatedBuildConfiguration) : this(simulationToUpdate, newModel, updatedBuildConfiguration, true, string.Empty, string.Empty) { }
public UpdateSimulationCommand(IMoBiSimulation simulationToUpdate, IModel newModel, IMoBiBuildConfiguration updatedBuildConfiguration, IBuildingBlock templateBuildingBlock) : this(simulationToUpdate, newModel, updatedBuildConfiguration, true, templateBuildingBlock.Name, string.Empty) { _changedBuildingBlockType = new ObjectTypeResolver().TypeFor(templateBuildingBlock); }
public override void RestoreExecutionData(IMoBiContext context) { _simulationToUpdate = context.Get <IMoBiSimulation>(_simulationId); _newModel = context.Deserialize <IModel>(_modelSerialization); _updatedBuildConfiguration = context.Deserialize <IMoBiBuildConfiguration>(_buildConfigurationSerialization); }
protected override void ClearReferences() { _simulationToUpdate = null; _newModel = null; _updatedBuildConfiguration = null; }
public void Edit(IMoBiSimulation simulation) { _buildConfiguration = simulation.MoBiBuildConfiguration; Refresh(); }
public override IParameterStartValuesBuildingBlock CreateStartValuesForSimulation(IMoBiBuildConfiguration buildConfiguration) { var startValues = _startValuesCreator.CreateFrom(buildConfiguration.SpatialStructureInfo.TemplateBuildingBlock, buildConfiguration.MoleculesInfo.TemplateBuildingBlock) .WithName(buildConfiguration.ParameterStartValuesInfo.TemplateBuildingBlock.Name); UpdateValuesFromTemplate(startValues, buildConfiguration.ParameterStartValuesInfo); return(startValues); }
public abstract TBuildingBlock CreateStartValuesForSimulation(IMoBiBuildConfiguration buildConfiguration);
public static IMoleculeStartValuesBuildingBlock CreateMoleculeStartValuesFor(IMoBiBuildConfiguration buildConfiguration) { var startValuesCreator = IoC.Resolve <IMoleculeStartValuesCreator>(); return(startValuesCreator.CreateFrom(buildConfiguration.MoBiSpatialStructure, buildConfiguration.Molecules)); }
private bool isInReaction(IParameter changedParameter, IMoBiBuildConfiguration buildConfiguration) { return(quantityIsIn <IReaction, IReactionBuilder>(changedParameter, buildConfiguration.Reactions)); }
private bool isInPassiveTransport(IParameter changedParameter, IMoBiBuildConfiguration buildConfiguration) { return(quantityIsIn <ITransport, ITransportBuilder>(changedParameter, buildConfiguration.PassiveTransports)); }
private bool isMoleculeStartValue(IQuantity changedQuantity, IMoBiBuildConfiguration buildConfiguration) { return(changedQuantity.IsAnImplementationOf <IMoleculeAmount>() || (changedQuantity.ParentContainer.IsAnImplementationOf <IMoleculeAmount>() && changedQuantity.IsNamed(Constants.Parameters.START_VALUE))); }
private bool isInSimulationSettings(IParameter changedParameter, IMoBiBuildConfiguration buildConfiguration) { return(changedParameter.ParentContainer.IsAnImplementationOf <OutputInterval>()); }
private bool isObserver(IQuantity changedQuantity, IMoBiBuildConfiguration buildConfiguration) { return(changedQuantity.IsAnImplementationOf <IObserver>()); }