public void DiscardExportObject(SnooperExportedObjectBase snooperExportedObject) { //if(snooperExportedObject != this._currentObjectBase) { throw new UnknownSnooperExportedObject(); } if (!this._currentObjectBase.Contains(snooperExportedObject)) { throw new UnknownSnooperExportedObject(); } this._currentObjectBase.Remove(snooperExportedObject); }
public void AddExportObject(SnooperExportedObjectBase snooperExportedObject) { //Console.WriteLine("AddExportObject()"); if (this.ExportObjects == null) { this.ExportObjects = new List <SnooperExportedObjectBase>(); } if (!snooperExportedObject.ExportSources.Any()) { throw new EmptySourceInSnooperExportedObject(); } if (this.ExportContext == ExportContext.Unknown) { throw new UnknownExportContext(); } // adding to list of exported objects this.ExportObjects.Add(snooperExportedObject); // getting rid of the reference to it //this._currentObjectBase = null; this._currentObjectBase.Remove(snooperExportedObject); switch (snooperExportedObject.ExportValidity) { case ExportValidity.ValidWhole: break; case ExportValidity.ValidFragment: if (this.ExportValidity != ExportValidity.Malformed) { this.ExportValidity = ExportValidity.ValidFragment; } break; case ExportValidity.Malformed: this.ExportValidity = ExportValidity.Malformed; break; default: throw new ArgumentOutOfRangeException(); } }