Example #1
0
		///////////////////////////////////////////////////////////////////////////////////////////////////
		////////////DEEP VALIDATION							 //////////////////////////////////////////////////
		///////////////////////////////////////////////////////////////////////////////////////////////////
		public override bool DeepEquals(ISDMXObject bean) {
			if (bean.StructureType == Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureType.GetFromEnum(SdmxStructureEnumType.AGENCY)) {
				IAgency that = (IAgency) bean;
				if (!Org.Sdmxsource.Util.ObjectUtil.Equivalent(FullId, that.FullId)) {
					return false;
				}
				return base.DeepEqualsInternal(that);
			}
			return false;
		}
        /// <summary>
        /// The store ref.
        /// </summary>
        /// <param name="referencedFrom">
        /// The referenced from.
        /// </param>
        /// <param name="reference">
        /// The reference.
        /// </param>
        private void StoreRef(ISDMXObject referencedFrom, IIdentifiableObject reference)
        {
            IIdentifiableObject refFromIdentifiable;
            if (referencedFrom.StructureType.IsIdentifiable)
            {
                refFromIdentifiable = (IIdentifiableObject)referencedFrom;
            }
            else
            {
                refFromIdentifiable = referencedFrom.GetParent<IIdentifiableObject>(typeof(IIdentifiableObject), true);
            }

            ISet<IIdentifiableObject> refList;
            if (!this._crossReferences.TryGetValue(refFromIdentifiable, out refList))
            {
                refList = new HashSet<IIdentifiableObject>();
                this._crossReferences.Add(refFromIdentifiable, refList);
            }

            refList.Add(reference);
        }