/// <summary>public WebResponse Insert(Uri insertUri, Stream entryStream, ICredentials credentials)</summary> /// <param name="feedUri">the uri for the feed this entry should be inserted into</param> /// <param name="newEntry">the entry to be inserted</param> /// <param name="data">the data used for an async request</param> /// <returns> the inserted entry</returns> private AtomEntry Insert(Uri feedUri, AtomEntry newEntry, AsyncSendData data) { Tracing.Assert(feedUri != null, "feedUri should not be null"); if (feedUri == null) { throw new ArgumentNullException("feedUri"); } Tracing.Assert(newEntry != null, "newEntry should not be null"); if (newEntry == null) { throw new ArgumentNullException("newEntry"); } _versionInfo.ImprintVersion(newEntry); Stream returnStream = EntrySend(feedUri, newEntry, GDataRequestType.Insert, data); return(CreateAndParseEntry(returnStream, feedUri)); }
/// <summary> /// this gets called out of a notification chain. It sets /// this objects version info and the extension lists. We do not /// use the property accessor to avoid the notification loop /// </summary> /// <param name="obj"></param> internal void SetVersionInfo(IVersionAware obj) { _versionInfo = new VersionInformation(obj); _versionInfo.ImprintVersion(ExtensionElements); _versionInfo.ImprintVersion(ExtensionFactories); }