Search This Blog

Saturday, May 19, 2012

File Exists In SharePoint2010 Document Library


 public Boolean FileExist(SPItemEventProperties properties,string listName)
        {
            string fileName = properties.ListItem.File.Name;
            string documentLibName = listName;
            string fileUrl = string.Format("{0}/{1}/{2}", properties.WebUrl, documentLibName, fileName);
            SPFile file = properties.Web.GetFile(fileUrl);
            if (file.Exists)
                return true;
            // Console.WriteLine("File {0} exists in the site!!!", file.Name);
            else
                return false;
            // Console.WriteLine("File not found!!!");

        }

Wednesday, May 16, 2012

Custom Event Receiver - Copy To Folder


SPFile sourceFile = properties.ListItem.File;
SPFile destFile; // Copy file from source library to destination         
using (Stream stream = sourceFile.OpenBinaryStream())
{
    var destLib = (SPDocumentLibrary) properties.ListItem.Web.Lists[listName];
    destFile = destLib.RootFolder.Files.Add(sourceFile.Name, stream);
    stream.Close();
} 
// Update item properties         
SPListItem destItem = destFile.Item;
SPListItem sourceItem = sourceFile.Item;
// Copy meta data
destItem["Title"] = sourceItem["Title"];
//...        
//... destItem["FieldX"] = sourceItem["FieldX"];        
//...         
destItem.UpdateOverwriteVersion();

//Ensure folder here 

var destFolder = destLib.RootFolder.SubFolders["name"]; 

destFile = destFolder.Files.Add(sourceFile.Name, stream);Custom Event Receiver - Copy To Folder

Tuesday, May 15, 2012

USING SPQUERY TO RETURN SHAREPOINT LIST ITEMS

Using SPQuery and CAML(Collaborative Application Markup Language) is an efficient way to retrieve data in SharePoint list. It help us to filter and order items in the selected list.

            SPWeb web = SPContext.Current.Web;
            SPList list = web.Lists["Employee"];
            string query = @"<Where>
                                              <Eq>
                                                    <FieldRef Name='Position' /><Value Type='Choice'>{0}</Value>
                                             </Eq>
                                   </Where>
                                   <OrderBy>
                                            <FieldRef Name='Salary' Ascending='False' />
                                   </OrderBy>";
            query = string.Format(query, "Developer");                                                            
            SPQuery spQuery = new SPQuery();
            spQuery.Query = query;
            SPListItemCollection items = list.GetItems(spQuery);
            grid.DataSource = items.GetDataTable();
            grid.DataBind();