Skip to main content

Event handler to copy items from one site to another

The code can be used to copy items from one site to another ,but source and destination sites must be in same server.
If the item was added newly in a Document Library , Item Checked In Event Handler must be used :
  
public override void ItemCheckedIn(SPItemEventProperties properties)
       {
           base.ItemCheckedIn(properties);
           try
           {
               SPSite sourceSite = new SPSite("Source Site URL");
               SPWeb sourceweb = sourceSite.OpenWeb();
               SPList sourcelist = sourceweb.Lists["Source List"];
               if (properties.ListTitle == sourcelist.Title)
               {
                   SPListItem sourceitem = properties.ListItem;
                   string title = sourceitem["Title"].ToString();
                   string description = sourceitem["ToolName"].ToString()";
                   SPSite _destSite = new SPSite("Destination Site URL");
                   SPWeb _destweb = _destSite.OpenWeb();
                   SPList _destList = _destweb.Lists["DestinationList"];
                   SPListItem _destitem = _destList.Items.Add();
                   destweb.AllowUnsafeUpdates = true;
                   destitem["Title"] = title;
                   destitem["Description"] = description;
                   destitem.SystemUpdate();
                   destList.Update();

                   destweb.AllowUnsafeUpdates = false;
               }
           }
           catch (Exception ex)
           {
               properties.ErrorMessage = ex.Message;
           }
       }

Comments

Popular posts from this blog

Cannot open SharePoint 2010 Approval task form from Outlook

When trying to click on Open this task from Outlook 2010, it brings an error - " Outlook cannot open a new form. The form contains schema validation errors" Element '{ http://www.w3.org/1999/xhtml}div ' is unexpected according to the content model of parent element '{ http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields}Body '. As given in the error message, the issue is with the Body column of the workflow tasks list. For the approval workflow, there would be a tasks list. In the workflow task list, the Body column is Enhance Rich multi-line column. Change the setting to Plain text, instead of enhanced rich text. After that do an iisreset.

How to link to Download a copy option in Office 365/SharePoint 2013

At times it is required to have the option to save a copy of a document uploaded in SharePoint document library, in a page or a webpart. The url to get the save option for a doc is - http:// site /_layouts/download.aspx?SourceUrl= url-of-document-in-library Change the bold text with the actual url, i.e., with the site url and the url to the doc in the doc library. For example, if the site is www.contso.com and the doc "Test" is uploaded in SiteAssets library, the url to save a copy would be - http://contso.com/_layouts/download.aspx?SourceUrl=http://contso.com/SiteAssets/Test.docx

How to embed powerpoint presentation in SharePoint 2013 online

Open the SharePoint Online site and upload the required ppt in Site Assets or any doc library. The ppt can be dragged and dropped to the library also. After the ppt is uploaded, click on the ... next to the ppt and click on Share Under Invite People, enter Everyone and uncheck Require Sign-in and click on Share Again click on ... and then click on guest link in 'Open to anyone with a guest link' Copy the url and open it in the browser. Click on File - Share - Embed Select the required dimension from the preview. Copy and save the code. Open the page where the ppt has to be displayed. Edit the page and click on embed code and paste the code. The ppt would be displayed on the page and the user can view it directly.