У меня есть следующее консольное приложение, которое перемещало некоторые папки из одной библиотеки документов в другую в пределах одного семейства сайтов SP 2013: -
SPList sourceomslist = omsWeb.Lists.TryGetList("Order Management");
;
foreach (SPListItem currentItem in sourceomslist.Items)
{
if (currentItem["Status"].ToString() == "Closed")
{
if (currentItem.ContentType.Name.ToLower().Contains("project"))
{
Console.WriteLine(currentItem["ID"]);
SPFolder folder = omsWeb.GetFolder(omsWeb.ServerRelativeUrl + "/Shared Documents/"+currentItem["ID"].ToString() );
folder.MoveTo(omsWeb.ServerRelativeUrl + "/ArchDocs/"+currentItem["ID"].ToString() );
}
}
}
теперь MoveTo будет сохранять метаданные для подпапок и файлы, но это сбросит метаданные для корневых папок, которые были перемещены. Так может кто-нибудь посоветовать, если я могу заставить метод MoveTo сохранить данные метаданных для перемещенных папок root?
Спасибо