void import_ObjectImported(object sender, SPObjectImportedEventArgs e) { if (ObjectImported != null) { ObjectImported(this, e); } }
/// <summary> /// Called when [imported]. /// </summary> /// <param name="sender">The sender.</param> /// <param name="eventArgs">The <see cref="Microsoft.SharePoint.Deployment.SPObjectImportedEventArgs"/> instance containing the event data.</param> public void OnImported(object sender, SPObjectImportedEventArgs eventArgs) { if (m_targetList == null && eventArgs.Type == SPDeploymentObjectType.List) { // Get the list for later processing. m_targetList = m_targetWeb.GetList(eventArgs.TargetUrl); } if (!m_retargetLinks) { return; } if (eventArgs.Type != SPDeploymentObjectType.ListItem) { return; } SPImport import = sender as SPImport; if (import == null) { return; } try { string url = eventArgs.SourceUrl; // This is not fully qualified so we need the user specified url for the site. using (SPSite site = new SPSite(m_sourceUrl)) using (SPWeb web = site.OpenWeb(url, false)) { string targetUrl = m_targetSite.MakeFullUrl(eventArgs.TargetUrl); SPListItem li = web.GetListItem(url); int count = li.BackwardLinks.Count; for (int i = count - 1; i >= 0; i--) { SPLink link = li.BackwardLinks[i]; using (SPWeb rweb = site.OpenWeb(link.ServerRelativeUrl, false)) { object o = rweb.GetObject(link.ServerRelativeUrl); if (o is SPFile) { SPFile f = o as SPFile; f.ReplaceLink(eventArgs.SourceUrl, targetUrl); } if (o is SPListItem) { SPListItem l = o as SPListItem; l.ReplaceLink(eventArgs.SourceUrl, targetUrl); } } } } } catch (Exception ex) { Console.WriteLine("Links could not be retargeted for " + eventArgs.SourceUrl + "\r\n" + ex.Message); } }
/// <summary> /// Called when [imported]. /// </summary> /// <param name="sender">The sender.</param> /// <param name="eventArgs">The <see cref="Microsoft.SharePoint.Deployment.SPObjectImportedEventArgs"/> instance containing the event data.</param> public void OnImported(object sender, SPObjectImportedEventArgs eventArgs) { if (m_targetList == null && eventArgs.Type == SPDeploymentObjectType.List) { // Get the list for later processing. m_targetList = m_targetWeb.GetList(eventArgs.TargetUrl); } if (!m_retargetLinks) return; if (eventArgs.Type != SPDeploymentObjectType.ListItem) return; SPImport import = sender as SPImport; if (import == null) return; try { string url = eventArgs.SourceUrl; // This is not fully qualified so we need the user specified url for the site. using (SPSite site = new SPSite(m_sourceUrl)) using (SPWeb web = site.OpenWeb(url, false)) { string targetUrl = m_targetSite.MakeFullUrl(eventArgs.TargetUrl); SPListItem li = web.GetListItem(url); int count = li.BackwardLinks.Count; for (int i = count - 1; i >= 0; i--) { SPLink link = li.BackwardLinks[i]; using (SPWeb rweb = site.OpenWeb(link.ServerRelativeUrl, false)) { object o = rweb.GetObject(link.ServerRelativeUrl); if (o is SPFile) { SPFile f = o as SPFile; f.ReplaceLink(eventArgs.SourceUrl, targetUrl); } if (o is SPListItem) { SPListItem l = o as SPListItem; l.ReplaceLink(eventArgs.SourceUrl, targetUrl); } } } } } catch (Exception ex) { Console.WriteLine("Links could not be retargeted for " + eventArgs.SourceUrl + "\r\n" + ex.Message); } }
void import_ObjectImported(object sender, SPObjectImportedEventArgs e) { if (lblItemAction.InvokeRequired) { // COB 21 Mar 2010 - introduced try/catch here for strange threading bug.. try { updateOnItemImportedExported delUpdateLabel = new updateOnItemImportedExported(import_ObjectImported); this.Invoke(delUpdateLabel, new object[] { lblItemAction, e }); } catch (Exception) { } } else { lblItemAction.Text = getWrappedText("Importing " + e.TargetUrl, f_ciIMPORT_ITEM_ACTION_THRESHOLD); } }