public override bool Equals(object obj)
        {
            // Check for null
            if (obj == null)
            {
                return(false);
            }

            // Check for type
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }

            // Cast as IfcRoot
            IfcMonetaryUnit root = (IfcMonetaryUnit)obj;

            return(this == root);
        }
 public void IfcParse(int propIndex, IPropertyValue value)
 {
     switch (propIndex)
     {
         case 0:
             _relatingMonetaryUnit = (IfcMonetaryUnit) value.EntityVal;
             break;
         case 1:
             _relatedMonetaryUnit = (IfcMonetaryUnit) value.EntityVal;
             break;
         case 2:
             _exchangeRate = value.RealVal;
             break;
         case 3:
             _rateDateTime = (IfcDateAndTime) value.EntityVal;
             break;
         case 4:
             _rateSource = (IfcLibraryInformation) value.EntityVal;
             break;
         default:
             this.HandleUnexpectedAttribute(propIndex, value); break;
     }
 }