/// <summary> /// Creates the Mobi Event Assignment for one SBML Event Assignment. /// </summary> internal void CreateEventAssignment(EventAssignment eventAssignment) { _counter++; var assignmentVar = eventAssignment.getVariable(); var alias = _sbmlInformation.AliasCreator.CreateAliasFrom(assignmentVar) + _counter; var description = String.Empty; if (eventAssignment.isSetNotes()) { description += eventAssignment.getNotesString(); } if (eventAssignment.isSetSBOTerm()) { description += (SBMLConstants.SPACE + eventAssignment.getSBOTerm()); } IEventAssignmentBuilder eab = new EventAssignmentBuilder() .WithId(eventAssignment.getId() + SBMLConstants.SPACE + eventAssignment.getName() + SBMLConstants.SPACE + alias) .WithName(SBMLConstants.SBML_EVENT_ASSIGNMENT + eventAssignment.getId()) .WithDescription(description); var formula = _astHandler.Parse(eventAssignment.getMath(), eab, assignmentVar, _sbmlProject, _sbmlInformation) ?? ObjectBaseFactory.Create <ExplicitFormula>().WithFormulaString(String.Empty).WithName(SBMLConstants.DEFAULT_FORMULA_NAME); eab.Formula = formula; EventGroupBuildingBlock.FormulaCache.Add(formula); EventBuilder.AddAssignment(eab); }