/// <summary> /// Adds the given <see cref="Microsoft.SharePoint.SPListItem"/> object to the cache. /// </summary> /// <param name="listItem">List item object.</param> /// <returns>An <see cref="Microsoft.SharePoint.SPListItem"/> object in cache. Returned object is not necessary the same instance as the given one.</returns> /// <exception cref="System.ArgumentNullException">Throws when input parameter <paramref name="listItem"/> is null.</exception> public SPListItem AddListItem(SPListItem listItem) { CommonHelper.ConfirmNotNull(listItem, "listItem"); SPListItemLookupKey lookupKey = new SPListItemLookupKey(listItem); return(GetOrAdd(lookupKey, listItem)); }
/// <summary> /// Gets an <see cref="Microsoft.SharePoint.SPListItem"/> object of the specified list item ID, under specified site and list. /// </summary> /// <param name="webId">Site GUID.</param> /// <param name="listId">List GUID.</param> /// <param name="listItemId">List item ID.</param> /// <returns>An <see cref="Microsoft.SharePoint.SPList"/> object in cache. NULL if site or list of given GUID does not exist, or list item of given ID does not exist in list.</returns> public SPListItem GetListItem(Guid webId, Guid listId, int listItemId) { SPListItemLookupKey lookupKey = new SPListItemLookupKey(listId, listItemId); return(GetOrAdd(lookupKey, () => GetList(webId, listId).GetItemById(listItemId))); }