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