示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
 public UpdateSimulationCommand(IMoBiSimulation simulationToUpdate, IModel newModel, IMoBiBuildConfiguration updatedBuildConfiguration)
     : this(simulationToUpdate, newModel, updatedBuildConfiguration, true, string.Empty, string.Empty)
 {
 }
示例#4
0
 public UpdateSimulationCommand(IMoBiSimulation simulationToUpdate, IModel newModel, IMoBiBuildConfiguration updatedBuildConfiguration, IBuildingBlock templateBuildingBlock)
     : this(simulationToUpdate, newModel, updatedBuildConfiguration, true, templateBuildingBlock.Name, string.Empty)
 {
     _changedBuildingBlockType = new ObjectTypeResolver().TypeFor(templateBuildingBlock);
 }
示例#5
0
 public override void RestoreExecutionData(IMoBiContext context)
 {
     _simulationToUpdate        = context.Get <IMoBiSimulation>(_simulationId);
     _newModel                  = context.Deserialize <IModel>(_modelSerialization);
     _updatedBuildConfiguration = context.Deserialize <IMoBiBuildConfiguration>(_buildConfigurationSerialization);
 }
示例#6
0
 protected override void ClearReferences()
 {
     _simulationToUpdate        = null;
     _newModel                  = null;
     _updatedBuildConfiguration = null;
 }
 public void Edit(IMoBiSimulation simulation)
 {
     _buildConfiguration = simulation.MoBiBuildConfiguration;
     Refresh();
 }
示例#8
0
        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);
示例#10
0
        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>());
 }