In Shared Documents I have a document "New”, here I am going to check whether the item is in hold or not using SharePoint object model.

  • Open Visual Studio 2010.
  • Create a new console application.
  • Add the following references.
    • Microssoft.Office.Policy.dll
    • Microsoft.SharePoint.dll
  • Add the following namespaces.
    • using Microsoft.SharePoint;
    • using Microsoft.Office.RecordsManagement.Holds;
  • Replace the code with the following.

using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
Microsoft.SharePoint;
using
System.Xml;
using
Microsoft.SharePoint.Administration;
using
Microsoft.Office.RecordsManagement.Holds;
namespace
Holds
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://servername:22222/sites/Test/"))
{
using (SPWeb web = site.RootWeb)
{
SPList list = web.Lists["Shared Documents"];
foreach (SPListItem item in list.Items)
{
if (item.DisplayName.ToString() == "New")
{
if (Hold.IsItemOnHold(item))
{
Console.WriteLine(item.DisplayName + " is on hold");
Console.ReadLine();
}
}
}
}
}
}
}
}