Пример #1
0
        public virtual IEnumerable <IObjectBaseDTO> GetChildObjects(IObjectBaseDTO dto)
        {
            var children = new List <IObjectBaseDTO>();

            if (_context.ObjectRepository.ContainsObjectWithId(dto.Id))
            {
                var objectBase = _context.Get <IObjectBase>(dto.Id);

                // Distributed Parameter children are only for internal use
                if (objectBase.IsAnImplementationOf <IDistributedParameter>())
                {
                    return(children);
                }

                addChildrenFromSpatialStructure(children, objectBase as ISpatialStructure);
                addChildrenFromContainer(children, objectBase as IContainer);
                addChildrenFromNeigborhood(children, objectBase as INeighborhoodBuilder);
                addParametersFromParameterContainer(children, objectBase as IContainsParameters);
            }

            else if (dto.IsAnImplementationOf <DummyMoleculeContainerDTO>())
            {
                AddChildrenFromDummyMolecule(children, dto.DowncastTo <DummyMoleculeContainerDTO>());
            }

            return(children);
        }
        public void SetFormula(ObserverBuilderDTO dtoObserverBuilder, FormulaBuilderDTO newValue, FormulaBuilderDTO oldValue)
        {
            var newFormula      = _buildingBlock.FormulaCache[newValue.Id];
            var oldFormula      = _buildingBlock.FormulaCache[oldValue.Id];
            var observerBuilder = _context.Get <IObserverBuilder>(dtoObserverBuilder.Id);

            AddCommand(new EditObjectBasePropertyInBuildingBlockCommand("Formula", newFormula, oldFormula, observerBuilder, BuildingBlock).Run(_context)); //<IFormula>
        }
Пример #3
0
        protected override void Context()
        {
            base.Context();

            _context = A.Fake <IMoBiContext>();
            A.CallTo(() => _context.Get <IFormula>(_oldFormula.Id)).Returns(_oldFormula);
            A.CallTo(() => _context.Get <IFormula>(_newFormula.Id)).Returns(_newFormula);
            _moleculeStartValuesBuildingBlock.Add(_changedMoleculeStartValue);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IMoleculeStartValue> >(A <string> .Ignored)).Returns(_moleculeStartValuesBuildingBlock);
        }
 protected override void Context()
 {
     _simulation = A.Fake <IMoBiSimulation>().WithId("Sim");
     _valueToSet = 10;
     _oldValue   = 5;
     _context    = A.Fake <IMoBiContext>();
     _quantity   = CreateQuantity().WithId("Quantity");
     A.CallTo(() => _context.Get <IMoBiSimulation>(_simulation.Id)).Returns(_simulation);
     A.CallTo(() => _context.Get <IQuantity>(_quantity.Id)).Returns(_quantity);
     sut = new SetQuantityValueInSimulationCommand(_quantity, _valueToSet, _simulation);
 }
 protected override void Context()
 {
     _oldFormula    = new ExplicitFormula().WithId("oldId");
     _parameter     = new Parameter().WithFormula(_oldFormula);
     _newFormula    = new ExplicitFormula().WithId("newId");
     _buildingBlock = A.Fake <IBuildingBlock>();
     _context       = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
     A.CallTo(() => _context.Get <IFormula>(_oldFormula.Id)).Returns(_oldFormula);
     A.CallTo(() => _context.Get <IFormula>(_newFormula.Id)).Returns(_newFormula);
     sut = new EditParameterFormulaInBuildingBlockCommand(_newFormula, _parameter.Formula, _parameter, _buildingBlock);
 }
 protected override void Context()
 {
     _oldMoleculeName = "A";
     _newMoleculeName = "B";
     _reaction        = new ReactionBuilder().WithId("R");
     _reactionPartner = new ReactionPartnerBuilder(_oldMoleculeName, 3);
     _buildingBlock   = A.Fake <IMoBiReactionBuildingBlock>().WithId("BB");
     _context         = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IReactionBuilder>(_reaction.Id)).Returns(_reaction);
     A.CallTo(() => _context.Get <IMoBiReactionBuildingBlock>(_buildingBlock.Id)).Returns(_buildingBlock);
     AddPartnerToReaction();
     _diagramManager = A.Fake <IMoBiReactionDiagramManager>();
     A.CallTo(() => _buildingBlock.DiagramManager).Returns(_diagramManager);
     sut = new EditReactionPartnerMoleculeNameCommand(_newMoleculeName, _reaction, _reactionPartner, _buildingBlock);
 }
 public override void RestoreExecutionData(IMoBiContext context)
 {
     if (_buildingBlockId != null)
     {
         _buildingBlock = context.Get <T>(_buildingBlockId);
     }
 }
Пример #8
0
        public virtual IContextMenu InitializeWith(IObjectBaseDTO dto, IPresenter presenter)
        {
            try
            {
                var objectBase = _context.Get <TObjectBase>(dto.Id);

                _allMenuItems = new List <IMenuBarItem> {
                    CreateEditItemFor(objectBase)
                };

                if (dto.Name.IsSpecialName())
                {
                    return(this);
                }

                _allMenuItems.Add(CreateRenameItemFor(objectBase));
                _allMenuItems.Add(createSaveItemFor(objectBase));
                _allMenuItems.Add(CreateDeleteItemFor(objectBase));
                _allMenuItems.Add(CreateReportItemFor(objectBase));
                return(this);
            }
            catch (InterfaceResolutionException)
            {
                return(new EmptyContextMenu());
            }
        }
Пример #9
0
        protected override void ExecuteWith(IMoBiContext context)
        {
            base.ExecuteWith(context);
            var container = context.Get <IEntity>(_containerId);

            container.RemoveTag(_tag);
        }
        public IContextMenu InitializeWith(IObjectBaseDTO dto, IPresenter presenter)
        {
            var listPresenter         = presenter.DowncastTo <IMoleculeListPresenter>();
            var moleculeBuildingBlock = listPresenter.MoleculeBuildingBlock;

            if (dto == null)
            {
                _allMolecules = new List <IMenuBarItem>
                {
                    createAddNewMoleculeBuilder(moleculeBuildingBlock),
                    createAddExistingMoleculeBuilder(moleculeBuildingBlock),
                    createAddExistingMoleculeBuilderFromTemplate(moleculeBuildingBlock),
                    createAddPKSimMoleculeFromTemplate(moleculeBuildingBlock),
                };
                return(this);
            }

            var moleculeBuilder = _context.Get <IMoleculeBuilder>(dto.Id);

            _allMolecules = new List <IMenuBarItem>
            {
                createEditItemFor(moleculeBuilder),
                createRenameItemFor(moleculeBuilder),
                createAddNewTransporterFor(moleculeBuilder),
                createAddExistingTransporterFor(moleculeBuilder),
                createAddExistingFromTemplateTransporterFor(moleculeBuilder),
                createAddNewInteractionContainerFor(moleculeBuilder),
                createAddExistingInteractionContainerFor(moleculeBuilder),
                createAddExistingFromTemplateInteractionContainerFor(moleculeBuilder),
                createSaveItemFor(moleculeBuilder),
                createRemoveItemFor(moleculeBuildingBlock, moleculeBuilder)
            };

            return(this);
        }
 protected override void Context()
 {
     base.Context();
     _context = A.Fake <IMoBiContext>();
     sut.Execute(_context);
     A.CallTo(() => _context.Get <IObjectBase>(A <string> ._)).Returns(_parameter);
 }
        protected override void Context()
        {
            _parameterStartValueBuildingBlock = new ParameterStartValuesBuildingBlock().WithId("PSVBB");
            _objectPath = new ObjectPath("A", "B", "P");
            _parameter  = A.Fake <IParameter>().WithName("P").WithId("P");
            sut         = new AddParameterStartValueFromQuantityInSimulationCommand(_parameter, _parameterStartValueBuildingBlock);

            _context = A.Fake <IMoBiContext>();
            _parameterStartValuesCreator = A.Fake <IParameterStartValuesCreator>();
            _entityPathResolver          = A.Fake <IEntityPathResolver>();
            A.CallTo(() => _context.Resolve <IEntityPathResolver>()).Returns(_entityPathResolver);
            A.CallTo(() => _context.Resolve <IParameterStartValuesCreator>()).Returns(_parameterStartValuesCreator);
            A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(_parameterStartValueBuildingBlock.Id)).Returns(_parameterStartValueBuildingBlock);

            A.CallTo(() => _entityPathResolver.ObjectPathFor(_parameter, false)).Returns(_objectPath);
        }
Пример #13
0
        /// <summary>
        ///    Creates the path from parameter dummy.
        /// </summary>
        /// <param name="objectBaseDTO">The dummy parameter dto.</param>
        /// <param name="shouldCreateAbsolutePaths">if set to <c>true</c>  creates absolute paths otherwise creates reltive paths.</param>
        /// <param name="refObject">
        ///    The reference object the user chosen (may the concrete object that uses the reference or a
        ///    existing parent of it).
        /// </param>
        /// <param name="editedObject"></param>
        /// <returns> The path that could be uses in the model to reference the object</returns>
        public virtual ReferenceDTO CreatePathFromParameterDummy(IObjectBaseDTO objectBaseDTO, bool shouldCreateAbsolutePaths, IEntity refObject, IUsingFormula editedObject)
        {
            if (IsMoleculeReference(objectBaseDTO))
            {
                return(createMoleculeReference());
            }

            var          dtoDummyParameter = (DummyParameterDTO)objectBaseDTO;
            var          parameterToUse    = _context.Get <IParameter>(dtoDummyParameter.ParameterToUse.Id);
            ReferenceDTO dtoReference;

            if (parameterToUse.IsAtMolecule())
            {
                dtoReference = new ReferenceDTO();
                IObjectPath tmpPath;
                //global molecule parameters we always reference absolute
                if (shouldCreateAbsolutePaths || !parameterToUse.BuildMode.Equals(ParameterBuildMode.Local))
                {
                    tmpPath = _objectPathFactory.CreateAbsoluteObjectPath(dtoDummyParameter.Parent);
                }
                else
                {
                    if (refObject != dtoDummyParameter.Parent)
                    {
                        tmpPath = _objectPathFactory.CreateRelativeObjectPath(refObject, dtoDummyParameter.Parent);
                    }
                    else
                    {
                        tmpPath = new ObjectPath();
                    }

                    tmpPath = AdjustReferences(parameterToUse, tmpPath);
                }
                dtoReference.Path = _objectPathFactory.CreateFormulaUsablePathFrom(tmpPath)
                                    .WithAlias(_aliasCreator.CreateAliasFrom(parameterToUse.Name))
                                    .WithDimension(parameterToUse.Dimension);
                dtoReference.Path.Add(parameterToUse.Name);
            }
            else
            {
                dtoReference = CreatePathsFromEntity(parameterToUse, shouldCreateAbsolutePaths, refObject, editedObject);
            }
            dtoReference.Path.Replace(Constants.MOLECULE_PROPERTIES, dtoDummyParameter.ModelParentName);
            dtoReference.BuildMode = parameterToUse.BuildMode;
            return(dtoReference);
        }
        protected override void ExecuteWith(IMoBiContext context)
        {
            base.ExecuteWith(context);
            var formula = context.Get <IFormula>(_formulaId);

            formula.FormulaUsablePathBy(_alias).Dimension = context.DimensionFactory.Dimension(_newDimension);
            context.PublishEvent(new FormulaChangedEvent(formula));
        }
 public override void RestoreExecutionData(IMoBiContext context)
 {
     base.RestoreExecutionData(context);
     _startValuesBuildingBlock = context.Get <IStartValuesBuildingBlock <T> >(_objectBaseId);
     _changedStartValue        = _startValuesBuildingBlock.Single(startValue => startValue.Path.Equals(Path));
     _oldFormula = GetFormula(_oldFormulaId, context);
     _newFormula = GetFormula(_newFormulaId, context);
 }
Пример #16
0
        protected override void ExecuteWith(IMoBiContext context)
        {
            base.ExecuteWith(context);
            var formula = context.Get <ExplicitFormula>(_formulaId);

            formula.FormulaString = _newFormulaString;
            context.PublishEvent(new FormulaChangedEvent(formula));
        }
Пример #17
0
        protected override void ExecuteWith(IMoBiContext context)
        {
            base.ExecuteWith(context);
            var formula = context.Get <IFormula>(_formulaId);

            formula.FormulaUsablePathBy(_oldAlias).Alias = _newAlias;

            context.PublishEvent(new FormulaChangedEvent(formula));
        }
Пример #18
0
        public void Select(ObserverBuilderDTO dto)
        {
            var selectedObserver = _context.Get <IObserverBuilder>(dto.Id);

            _editObserverPresenter = setUpEditObserverPresenter(selectedObserver);
            _view.SetEditObserverBuilderView(_editObserverPresenter.View);
            _editObserverPresenter.BuildingBlock = _subject;
            _editObserverPresenter.Edit(selectedObserver);
        }
Пример #19
0
        protected override void Context()
        {
            base.Context();
            var simulationTransfer = LoadPKML <SimulationTransfer>("523_Export_S1");

            _context    = IoC.Resolve <IMoBiContext>();
            _simulation = simulationTransfer.Simulation as IMoBiSimulation;
            _context.Register(_simulation);
            _context.Get <IFormula>(_simulation.Model.Root.GetAllChildren <IUsingFormula>(x => x.Formula.IsCachable()).FirstOrDefault().Formula.Id).ShouldNotBeNull();
        }
 protected override void Context()
 {
     _parameter = new Parameter {
         BuildMode = ParameterBuildMode.Global
     };
     _newBuildMode  = ParameterBuildMode.Local;
     _buildingBlock = A.Fake <IBuildingBlock>();
     _context       = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
     sut = new EditParameterBuildModeInBuildingBlockCommand(_newBuildMode, _parameter, _buildingBlock);
 }
        protected override void Context()
        {
            base.Context();
            _context = A.Fake <IMoBiContext>();
            A.CallTo(() => _context.Get <ISimulationSettings>(A <string> ._)).Returns(_buildingBlock);

            var serialStream = new byte[0];

            A.CallTo(() => _context.Serialize(_chartTemplate)).Returns(serialStream);
            A.CallTo(() => _context.Deserialize <CurveChartTemplate>(serialStream)).Returns(new CurveChartTemplate().WithName(_chartTemplate.Name));
        }
        protected override void Context()
        {
            _context       = A.Fake <IMoBiContext>();
            _buildingBlock = new ParameterStartValuesBuildingBlock();

            _psv = new ParameterStartValue {
                Path = new ObjectPath("path1"), StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1)
            };
            sut = new AddParameterStartValueToBuildingBlockCommand(_buildingBlock, _psv);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(A <string> ._)).Returns(_buildingBlock);
        }
Пример #23
0
        protected override void Context()
        {
            _buildingBlock    = A.Fake <IBuildingBlock>();
            _newFormulaString = "newFormulaString";
            _oldFormulaString = "oldFormulaString";
            _formula          = new ExplicitFormula(_oldFormulaString);
            _context          = A.Fake <IMoBiContext>();
            A.CallTo(() => _context.Get <ExplicitFormula>(_formula.Id)).Returns(_formula);

            sut = new EditFormulaStringCommand(_newFormulaString, _oldFormulaString, _formula, _buildingBlock);
        }
        public void ModelSelect(string id)
        {
            if (_view.IsMoleculeNode(DiagramModel.GetNode(id)))
            {
                return;
            }

            var objectBase = _context.Get <IObjectBase>(id);

            _context.PublishEvent(new EntitySelectedEvent(objectBase, this));
        }
Пример #25
0
 protected override void Context()
 {
     _oldDescription = "old Description";
     _parameter      = new Parameter {
         Description = _oldDescription
     };
     _newDescription = "new Description";
     _buildingBlock  = A.Fake <IBuildingBlock>();
     _context        = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
     sut = new EditParameterDescriptionInBuildingBlockComand(_newDescription, _parameter.Description, _parameter, _buildingBlock);
 }
 protected override void Context()
 {
     _oldName   = "old Name";
     _parameter = new Parameter {
         Name = _oldName
     };
     _newName       = "new Name";
     _buildingBlock = A.Fake <IBuildingBlock>();
     _context       = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
     sut = new EditParameterNameInBuildingBlockCommand(_newName, _parameter.Name, _parameter, _buildingBlock);
 }
 protected override void Context()
 {
     _newCoefficient  = 2;
     _oldCoefficient  = 5;
     _reaction        = new ReactionBuilder().WithId("R");
     _reactionPartner = new ReactionPartnerBuilder("A", _oldCoefficient);
     _buildingBlock   = new MoBiReactionBuildingBlock();
     _context         = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IReactionBuilder>(_reaction.Id)).Returns(_reaction);
     AddPartnerToReaction();
     sut = new EditReactionPartnerStoichiometricCoefficientCommand(_newCoefficient, _reaction, _reactionPartner, _buildingBlock);
 }
Пример #28
0
        protected override void Context()
        {
            _fakeDimension = A.Fake <IDimension>();
            _context       = A.Fake <IMoBiContext>();
            _buildingBlock = new MoleculeStartValuesBuildingBlock();

            _moleculeStartValue = new MoleculeStartValue {
                Path = new ObjectPath("path1"), Dimension = _fakeDimension, StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1)
            };
            sut = new AddMoleculeStartValueToBuildingBlockCommand(_buildingBlock, _moleculeStartValue);

            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IMoleculeStartValue> >(A <string> ._)).Returns(_buildingBlock);
        }
 protected override void Context()
 {
     _buildingBlock = A.Fake <IBuildingBlock>();
     _formula       = new ExplicitFormula();
     _newAlias      = "newAlias";
     _oldAlias      = "oldAlias";
     _formula.AddObjectPath(new FormulaUsablePath {
         Alias = _oldAlias
     });
     _context = A.Fake <IMoBiContext>();
     A.CallTo(() => _context.Get <IFormula>(_formula.Id)).Returns(_formula);
     sut = new EditFormulaAliasCommand(_formula, _newAlias, _oldAlias, _buildingBlock);
 }
Пример #30
0
        public IContextMenu InitializeWith(TransportBuilderDTO dto, IPresenter presenter)
        {
            var transportBuilder = _context.Get <ITransportBuilder>(dto.Id);

            _allMenuItems = new List <IMenuBarItem>
            {
                createEditItemFor(transportBuilder),
                CreateRenameItemFor(transportBuilder),
                CreateRemoveItemFor(transportBuilder),
                createSaveItemFor(transportBuilder),
            };
            return(this);
        }