/// <summary>
/// Gets the dimension of a species. It is set by it's one substanceUnits attribute
/// or by the substanceUnits definition of the Model.
/// </summary>
private IDimension GetDimension(Species s, Model model)
{
var substanceUnits = s.isSetSubstanceUnits() ? s.getSubstanceUnits() : model.getSubstanceUnits();
IDimension amountDimension = null;
if (_sbmlInformation.MobiDimension.ContainsKey(substanceUnits))
{
amountDimension = _sbmlInformation.MobiDimension[substanceUnits];
}
if (amountDimension == null)
{
return(null);
}
if (_moBiDimensionFactory.Dimensions.All(dim => dim.Name != amountDimension.Name))
{
_moBiDimensionFactory.AddDimension(amountDimension);
}
return(amountDimension);
}