DocumentSet 作業碼(二)

來源:互聯網
上載者:User
public static DocumentSet GetDocumentSetById(this SPList list, int ID){     return DocumentSet.GetDocumentSet(list.GetItemById(ID).Folder);}public static bool IsDocumentSet(this SPListItem item){  bool documentSetItem = false;  DocumentSet documentSet = null;   if (null != item && item.IsFolder()) {  documentSet = DocumentSet.GetDocumentSet(item.Folder);   if (null != documentSet)    documentSetItem = true; } return documentSetItem;}public static bool IsDocumentSetItem(this SPListItem item){ bool documentSetItem = false; DocumentSet documentSet = null;  if (null != item && null != item.File) {   documentSet = DocumentSet.GetDocumentSet(item.File.ParentFolder);    if (null != documentSet)    documentSetItem = true; } return documentSetItem;}public static SPFile MoveFile(SPWeb web, string sourceUrl, DocumentSet docSet){ SPFile file = web.GetFile(sourceUrl); string destinationFolderUrl = docSet.Folder.Url;  destinationFolderUrl = (!destinationFolderUrl.EndsWith("/")) ? destinationFolderUrl + "/" : destinationFolderUrl; file.MoveTo(destinationFolderUrl + file.Name, true); web.Update();  return web.GetFile(web.Url + "/" + destinationFolderUrl + file.Name);}public static SPFile CopyFile(SPWeb web, string sourceUrl, DocumentSet docSet){ SPFile file = web.GetFile(sourceUrl); string destinationFolderUrl = docSet.Folder.Url;  destinationFolderUrl = (!destinationFolderUrl.EndsWith("/")) ? destinationFolderUrl + "/" : destinationFolderUrl; file.CopyTo(destinationFolderUrl + file.Name, true); web.Update();  return web.GetFile(web.Url + "/" + destinationFolderUrl + file.Name);}public static SPFile CreateDocumentLink(this SPList list, string documentName, string documentUrl, DocumentSet docSet){ SPFile file = null; SPListItem item = null; if (list is SPDocumentLibrary) {  SPDocumentLibrary docLib = (SPDocumentLibrary)list;  if (docLib.ContentTypesEnabled)  {   SPContentType myCType = list.ContentTypes["Link to a Document"];   if (myCType != null)   {     //replace string template with values    string redirectAspx = RedirectAspxPage();    redirectAspx.Replace("{0}", documentUrl);     //should change the name of the .aspx file per item    file = docSet.Folder.Files.Add(documentName + ".aspx", UTF8Encoding.UTF8.GetBytes(redirectAspx));     //set list item properties    item = file.Item;      item["ContentTypeId"] = myCType.Id;    item.Update();     if (item["ContentType"].ToString() == "Link to a Document")    {     SPFieldUrlValue fieldUrl = new SPFieldUrlValue() { Description = documentName, Url = documentUrl };      item["URL"] = fieldUrl;     item.Update();    }   }  } }  return file;} public static string RedirectAspxPage(){ StringBuilder builder = new StringBuilder(); builder.Append("<%@ Assembly Name='Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' %>"); builder.Append("<%@ Register TagPrefix='SharePoint' Namespace='Microsoft.SharePoint.WebControls' Assembly='Microsoft.SharePoint' %>"); builder.Append("<%@ Import Namespace='System.IO' %>"); builder.Append("<%@ Import Namespace='Microsoft.SharePoint' %>"); builder.Append("<%@ Import Namespace='Microsoft.SharePoint.Utilities' %>"); builder.Append("<%@ Import Namespace='Microsoft.SharePoint.WebControls' %>"); builder.Append("<html xmlns:mso=\"urn:schemas-microsoft-com:office:office\" xmlns:msdt=\"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882\">"); builder.Append("<head>"); builder.Append("<meta name=\"WebPartPageExpansion\" content=\"full\" /> <meta name='progid' content='SharePoint.Link' /> "); builder.Append("<!--[if gte mso 9]><SharePoint:CTFieldRefs runat=server Prefix=\"mso:\" FieldList=\"FileLeafRef,URL\"><xml>"); builder.Append("<mso:CustomDocumentProperties>"); builder.Append("<mso:ContentTypeId msdt:dt=\"string\">0x01010A00DC3917D9FAD55147B56FF78B40FF3ABB</mso:ContentTypeId>"); builder.Append("<mso:IconOverlay msdt:dt=\"string\">|docx|linkoverlay.gif</mso:IconOverlay>"); builder.Append("<mso:URL msdt:dt=\"string\">{0}, {0}</mso:URL>"); builder.Append("</mso:CustomDocumentProperties>"); builder.Append("</xml></SharePoint:CTFieldRefs><![endif]-->"); builder.Append("</head>"); builder.Append("<body>"); builder.Append("<form id='Form1' runat='server'>"); builder.Append("<SharePoint:UrlRedirector id='Redirector1' runat='server' />"); builder.Append("</form>"); builder.Append("</body>"); builder.Append("</html>"); return builder.ToString();}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.