Search This Blog

Tuesday, December 14, 2010

Sharepoint Programming interview Questions with Answers Part 2

Q) Write a program to fetch the Username
To fetch the User name in Console application is as follows
using Microsoft.SharePoint;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            SPSite rootSite = new SPSite("http://pravahaminfo-pc:1534/");
            SPWeb rootWeb=  rootSite.RootWeb;
            SPUserCollection  userList =  rootWeb.AllUsers;
            foreach (SPUser objUser in userList)
            {
                Console.WriteLine(objUser.Name);
            }
            Console.Read();
        }
    }
}
********************************************************************
Q) Write a Query SharePoint List by using LINQ
// Get DataContext from page context
DataContext data = new DataContext(SPContext.GetContext(this.Context).Web.Url);
// Get the SharePoint list
EntityList Customers = data.GetList("Customers");
// Query for customers from India
var indiaCustomers = from customer in Customers
where customer.City == "India"
select customer;
foreach (var indiaCust in indiaCustomers)
{
Console.Writeline("id = {0}, City = {1}", indiaCust.CustomerId, londonCust.City);
}
********************************************************************
Q) Write a program to Get All Alerts in the Site Collection
public void GetAlerts(Button btn)
    {
        SPSite rootSite = SPContext.Current.Site;
        SPWeb rootWeb = rootSite.OpenWeb();
        //Using RunWithElevatedPrivileges
        SPSecurity.RunWithElevatedPrivileges(delegate()
        {
            // Get references to the site collection and site for the current context.
            // The using statement makes sures these references are disposed properly.
            SPList alertList = rootWeb.Lists[LIBName.Trim()];
            DeleteAllExistingItems(alertList, btn); // Delete existing items
            using (SPSite siteCollection = new SPSite(rootSite.ID))
            {
                foreach (SPWeb curretWeb in siteCollection.AllWebs)
                       //Get alerts for each web
                {
                    using (SPWeb web = siteCollection.OpenWeb(curretWeb.ID))
                    {
                        web.AllowUnsafeUpdates = true;
                        try
                        {
                            SPAlertCollection allAlerts = web.Alerts;
                            foreach (SPAlert AlertItem in allAlerts)
                            {
                                AddAlertToTable(alertList, AlertItem);
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Delete failed: " + ex.Message);
                            throw;
                        }
                        web.AllowUnsafeUpdates = false;
                    }
                }
            }
        });
    }
 ********************************************************************
Q) Programmatically Upload Documents in a Document Library
     public void DocumnetsUpload(SPWeb site)
    {
        if (FileUploadControl.HasFile)
        {
            SPFolder folder = site.GetFolder("Document_Library_Name");
            SPFileCollection files = folder.Files;
            //path of the file to upload
            Stream fStream = FileUpload1.PostedFile.InputStream;
            byte[] contents = new byte[fStream.Length];
            fstream.position = 0;
            fStream.Read(contents, 0, (int)fStream.Length);
            fStream.Close();
            string Filename = FileUpload1.FileName;
            string URL = SPContext.Current.Site.Url + "/Document_Library_Name/" + Filename;
            SPFile currentFile = files.Add(URL, contents);
        }
    }
 ******************************************************************** 
Q) Write a program to Delete all Items in a list
Note: Deleting all items in list will send all the items to recycle bin. To avoid fill-up recycle bin, we can just turn the recycle bin off while deleting the items.
public void DeleteAllItems(SPList CurrentList)
    {
        bool IsRecycleBinEnabled = SPContext.Current.Web.Site.WebApplication.RecycleBinEnabled;
        if (IsRecycleBinEnabled)
        {
            //set the use off the recyclebin to false SPContext.Current.Web.site.Webapplication.RecycleBinEnabled = fasle;
        }
        StringBuilder sbDelete = new StringBuilder();
        sbDelete.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?<Batch>");
        foreach (SPListItem item in CurrentList.Items)
        {
            sbDelete.Append("<Method>");
            sbDelete.Append("<SetList Scope=\"Request\"" + CurrentList.ID + "</SetList>");
            sbDelete.Append("<SetVar Name=\"ID\">" + Convert.ToString(item.ID) + "</SetVar>");
            sbDelete.Append("<SetVar Name=\"Cmd\"<Delete</SetVar>");
            sbDelete.Append("</Method>");
        }
        sbDelete.Append("</Batch>");
        try
        {
            SPContext.Current.Site.RootWeb.ProcessBatchData(sbDelete.ToString());
        }
        catch (Exception ex)
        {
            Console.WriteLine("Delete failed: " + ex.Message);
            throw;
        }
        if (!IsRecycleBinEnabled)
        {
            //set the use off the recyclebin to false
           //SPContext.Current.Web.site.Webapplication.RecycleBinEnabled = true;
        }
 ********************************************************************  
  Q)  SharePoint  search using FullTextSqlQuery
//Here SharedServices2 refers to the Shared Service Provider servicing the site in Question
    ServerContext context = ServerContext.GetContext("SharedServices2");
    FullTextSqlQuery qrySearch = new FullTextSqlQuery(context);
//Specifies the results set containing the main search results from
//the content index matching the search query.
    qrySearch.ResultTypes = ResultType.RelevantResults;
//Sremming : expansion of searches to include plural forms and
//other word variations :-)
    qrySearch.EnableStemming = true;
    qrySearch.TrimDuplicates = false;
    qrySearch.QueryText = "SELECT URL, Title, Size, Write, HitHighlightedSummary FROM SCOPE() where \"scope\"='NTFS Archive' And FREETEXT(*,'" + TextBox1.Text.Trim() +
"')";
    ResultTableCollection results = qrySearch.Execute();
    ResultTable resultTable = results[ResultType.RelevantResults];
// Data Table to Store Search Results
    DataTable dtResults = new DataTable();
    dtResults.Load(resultTable, LoadOption.OverwriteChanges);
  ********************************************************************  LECT URL, Title, Size, Write, HitHighlightedSummary FROM SCOPE() where \"scope\"='NTFS Archive' And FREETEXT(*,'" + TextBox1.Text.Trim() +
"')";
    ResultTableCollection results = qrySearch.Execute();
    ResultTable resultTable = results[ResultType.RelevantResults];
//

2 comments:

  1. Hi,

    You have a very nice blog on SharePoint.
    Can you also suggest some good book to learn programming in SharePoint.

    Please reply me on arunmanglick@gmail.com

    Regards,
    Arun Manglick
    http://arun-architect.blogspot.com/
    http://arun-ts.blogspot.com/

    ReplyDelete
    Replies
    1. Real World SharePoint Book or Ted Pattison book

      Delete