/// <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);
}