Skip to main content

SharePoint 2010: Extension Methods


SharePoint 2010 : SPFileCollection , SPListItemCollection  and SPFolderCollection Extension Methods

List  of Extension Methods
  1. SPFileCollection
  2. SPListItemCollection
  3. SPFolderCollection   


    {
        internal static List<SPFileInfo> ToFileNodeInfo(this SPFileCollection files)
        {
            List<SPFileInfo> nodeInfos = new List<SPFileInfo>();

            foreach (SPFile file in files)
            {
                SPFileInfo nodeInfo = new SPFileInfo
                {
                    Id = file.Item.ID,
                    Name = file.Name,
                    UniqueId = file.Item.UniqueId,
                    FileType = file.Item[SPBuiltInFieldId.File_x0020_Type] as string,
                    ServerRelativeUrl = file.ServerRelativeUrl,
                    Title = file.Item.Title,
                    IsCheckedOut = file.Level == SPFileLevel.Checkout
                };
                nodeInfos.Add(nodeInfo);
            }

            return nodeInfos;
        }
       
       internal static List<SPFolderInfo> ToFolderNodeInfo(this SPFolderCollection folders)
            {
                List<SPFolderInfo> nodeInfos = new List<SPFolderInfo>();

                foreach (SPFolder folder in folders)
                {
                    SPFolderInfo nodeInfo = new SPFolderInfo
                    {
                        Name = folder.Name,
                        Url = folder.Url
                    };
                    nodeInfos.Add(nodeInfo);
                }

                return nodeInfos;
            }

       internal static List<SPFileInfo> ToFileNodeInfo(this SPListItemCollection listItems)
       {
           List<SPFileInfo> nodeInfos = new List<SPFileInfo>();

           foreach (SPListItem listItem in listItems)
           {
               if (listItem.File != null)
               {
                   SPFileInfo nodeInfo = new SPFileInfo();

                   nodeInfo.Id = listItem.ID;
                   nodeInfo.Name = listItem.File.Name;
                   nodeInfo.UniqueId = listItem.UniqueId;
                   nodeInfo.FileType = listItem[SPBuiltInFieldId.File_x0020_Type] as String;
                   nodeInfo.ServerRelativeUrl = listItem.File.ServerRelativeUrl;
                   try
                   {
                       nodeInfo.Title = listItem.Title;
                   }
                   catch (ArgumentException)
                   {
                       nodeInfo.Title = listItem.File.Title;
                   }
                   nodeInfo.IsCheckedOut = listItem.File.Level == SPFileLevel.Checkout;

                   nodeInfos.Add(nodeInfo);
               }
           }

           return nodeInfos;
       }
    }


    [Serializable]
    public class SPFileInfo
    {
        #region Properties

        /// <summary>
        /// Gets or sets the Id.
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Gets or sets the unique Id.
        /// </summary>
        public Guid UniqueId { get; set; }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the file type.
        /// </summary>
        public string FileType { get; set; }

        /// <summary>
        /// Gets or sets the server relative url.
        /// </summary>
        public string ServerRelativeUrl { get; set; }

        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Gets or sets the is checked out flag.
        /// </summary>
        public bool IsCheckedOut { get; set; }

        /// <summary>
        /// Gets or sets the file contents which is used to save the contents to SharePoint.
        /// </summary>
        public string Contents { get; set; }

        #endregion
    }

    public class SPFolderInfo
    {
        #region Properties

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the url.
        /// </summary>
        public string Url { get; set; }

        #endregion
    }



Comments

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

What is SharePoint RPC Protocols? Part 1 This reference includes information about the methods and usage of SharePoint Foundation Remote Procedure Call (RPC) protocol. This protocol can be used in Win32-based applications or in ASPX applications to make HTTP POST requests to the server. Methods in this protocol that do not modify the contents of the database can also be used in URL protocol to make HTTP GET requests. Definition taken from http://msdn.microsoft.com/en-us/library/ms448359.aspx You will find the OWSSVR.DLL in SharePoint 2010 Server Physical Path: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI and MOSS C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI OWSSVR.DLL List of commands DialogView  Display ExportList GetProjSchema GetUsageBlob HitCounter RenderView To read more about the OWSSVR.DLL command Please read the URL Protocol from Microsoft Blog having a URL http://msdn.microsoft.com/en...

SharePoint 2013 CTX variable and its function part 1

In this post going to show you some of the useful Utility Functions that might be useful for you while working with search display template. I used most of the functions MSDN Link: https://msdn.microsoft.com/EN-US/library/office/dn768285.aspx CTX Function Part 2   CTX Function Part 3 CTX: In Display template CTX variable is responsible for returning the all the managed properties and other DOM elements. Utility Functions String Functions: For checking Null, Undefined & empty values  Srch.U.w(str): Indicates whether the given string is null, undefined, or empty. $isNull(str): Checking for Null Srch.U.n(str): Indicates whether the given object is null or undefined. $isEmptyString(str) : Checking for an empty string Srch.U.e(str): Indicates whether the string is null or empty. Array Functions: Split & other array related operations Srch.U.getArray(property): Splits the string into an array of strings using the semi colon (";") as a s...

Send Email using SharePoint Rest API

We have a requirement to send email vai SharePoint Rest API. We dig and find the below solution to send email using SharePoint API. Point Must be remember End point " /_api/SP.Utilities.Utility.SendEmail " end point to send email.  In JSON __metadata we used the type " SP.Utilities.EmailProperties ". The User / Group must have a read permission for particular site. where we placed this site code. JS Dependency  JQuery Code URL:  https://gist.github.com/BasantPandey/05189832546f2c6cc0bd008fcfec3264#file-sharepointsendemail-js Code  var Email = function (){ // Email Either email groupname or email address var from = ' abc.yahoo.com ' , to = ' abc.yahoo.com ' , cc = ' abc.yahoo.com ' , subject = ' My Email Subject ' ; this . options = this . options || {}; this . options [ ' fromEmail ' ] = this . options [ ' fromEmail ' ] || {}; this . options [ ' toEmail ...