/// <summary>
        /// Parse space type.
        /// </summary>
        /// <param name="name">Name of the space type.</param>
        /// <returns><see cref="SpaceType"/> for the name.</returns>
        public static SpaceType Parse(string name)
        {
            SpaceType spaceType = null;

            if (name == null || !SPACE_TYPES.TryGetValue(name, out spaceType))
            {
                spaceType = new SpaceType(name);
            }

            return(spaceType);
        }
        /// <summary>
        /// Determines whether this instance and another specified <see cref="SpaceType"/> object have the same value.
        /// </summary>
        /// <param name="value">The space type to compare to this instance.</param>
        /// <returns>true if the value of the parameter is the same as the value of this instance; otherwise, false. If value is null, the method returns false.</returns>
        public bool Equals(SpaceType value)
        {
            if (Object.ReferenceEquals(value, null))
            {
                return(false);
            }

            if (Object.ReferenceEquals(this, value))
            {
                return(true);
            }

            return(this.Name == value.Name);
        }
 /// <summary>
 /// Create an event filter for space type.
 /// </summary>
 /// <param name="spaceType">Space type to be filtered.</param>
 public SpaceTypeFilter(SpaceType spaceType)
     : base("roomType", spaceType.Name)
 {
 }