public File <string> ToFile(File file) { if (file == null) { return(null); } var result = ServiceProvider.GetService <File <string> >(); if (file is SharePointFileErrorEntry errorFile) { result.ID = MakeId(errorFile.ID); result.FolderID = MakeId(GetParentFolderId(errorFile.ID)); result.CreateBy = Owner; result.CreateOn = DateTime.UtcNow; result.ModifiedBy = Owner; result.ModifiedOn = DateTime.UtcNow; result.ProviderId = ID; result.ProviderKey = ProviderKey; result.RootFolderCreator = Owner; result.RootFolderId = MakeId(RootFolder.ServerRelativeUrl); result.RootFolderType = RootFolderType; result.Title = MakeTitle(GetTitleById(errorFile.ID)); result.Error = errorFile.Error; return(result); } result.ID = MakeId(file.ServerRelativeUrl); result.Access = Core.Security.FileShare.None; //ContentLength = file.Length, result.CreateBy = Owner; result.CreateOn = file.TimeCreated.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeCreated) : file.TimeCreated; result.FileStatus = FileStatus.None; result.FolderID = MakeId(GetParentFolderId(file.ServerRelativeUrl)); result.ModifiedBy = Owner; result.ModifiedOn = file.TimeLastModified.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeLastModified) : file.TimeLastModified; result.NativeAccessor = file; result.ProviderId = ID; result.ProviderKey = ProviderKey; result.Title = MakeTitle(file.Name); result.RootFolderId = MakeId(SpRootFolderId); result.RootFolderType = RootFolderType; result.RootFolderCreator = Owner; result.Shared = false; result.Version = 1; if (file.IsPropertyAvailable("Length")) { //TODO //result.ContentLength = file.Length; } else if (file.IsObjectPropertyInstantiated("ListItemAllFields")) { result.ContentLength = Convert.ToInt64(file.ListItemAllFields["File_x0020_Size"]); } return(result); }
public SPOFilePipeBind(Microsoft.SharePoint.Client.File file) { if (!file.IsPropertyAvailable("ServerRelativeUrl")) { file.Context.Load(file, f => f.ServerRelativeUrl); file.Context.ExecuteQuery(); } _serverRelativeUrl = file.ServerRelativeUrl; }
private static void SetWelcomePage(Web web, Microsoft.SharePoint.Client.File pageFile) { if (!web.IsPropertyAvailable("RootFolder")) { web.Context.Load(web.RootFolder); web.Context.ExecuteQueryRetry(); } if (!pageFile.IsPropertyAvailable("ServerRelativeUrl")) { web.Context.Load(pageFile, p => p.ServerRelativeUrl); web.Context.ExecuteQueryRetry(); } var rootFolderRelativeUrl = pageFile.ServerRelativeUrl.Substring(web.RootFolder.ServerRelativeUrl.Length); web.SetHomePage(rootFolderRelativeUrl); }
public Core.File ToFile(File file) { if (file == null) { return(null); } var errorFile = file as SharePointFileErrorEntry; if (errorFile != null) { return new Core.File { ID = MakeId(errorFile.ID), FolderID = MakeId(GetParentFolderId(errorFile.ID)), CreateBy = Owner, CreateOn = DateTime.UtcNow, ModifiedBy = Owner, ModifiedOn = DateTime.UtcNow, ProviderId = ID, ProviderKey = ProviderKey, RootFolderCreator = Owner, RootFolderId = MakeId(RootFolder.ServerRelativeUrl), RootFolderType = RootFolderType, Title = MakeTitle(GetTitleById(errorFile.ID)), Error = errorFile.Error } } ; var result = new Core.File { ID = MakeId(file.ServerRelativeUrl), Access = Core.Security.FileShare.None, //ContentLength = file.Length, CreateBy = Owner, CreateOn = file.TimeCreated.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeCreated) : file.TimeCreated, FileStatus = FileStatus.None, FolderID = MakeId(GetParentFolderId(file.ServerRelativeUrl)), ModifiedBy = Owner, ModifiedOn = file.TimeLastModified.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeLastModified) : file.TimeLastModified, NativeAccessor = file, ProviderId = ID, ProviderKey = ProviderKey, Title = MakeTitle(file.Name), RootFolderId = MakeId(SpRootFolderId), RootFolderType = RootFolderType, RootFolderCreator = Owner, SharedByMe = false, Version = 1 }; if (file.IsPropertyAvailable("Length")) { result.ContentLength = file.Length; } else if (file.IsObjectPropertyInstantiated("ListItemAllFields")) { result.ContentLength = Convert.ToInt64(file.ListItemAllFields["File_x0020_Size"]); } return(result); }
public Core.File ToFile(File file) { if (file == null) return null; var errorFile = file as SharePointFileErrorEntry; if (errorFile != null) return new Core.File { ID = MakeId(errorFile.ID), FolderID = MakeId(GetParentFolderId(errorFile.ID)), CreateBy = Owner, CreateOn = DateTime.UtcNow, ModifiedBy = Owner, ModifiedOn = DateTime.UtcNow, ProviderId = ID, ProviderKey = ProviderKey, RootFolderCreator = Owner, RootFolderId = MakeId(RootFolder.ServerRelativeUrl), RootFolderType = RootFolderType, Title = MakeTitle(GetTitleById(errorFile.ID)), Error = errorFile.Error }; var result = new Core.File { ID = MakeId(file.ServerRelativeUrl), Access = Core.Security.FileShare.None, //ContentLength = file.Length, CreateBy = Owner, CreateOn = file.TimeCreated.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeCreated) : file.TimeCreated, FileStatus = FileStatus.None, FolderID = MakeId(GetParentFolderId(file.ServerRelativeUrl)), ModifiedBy = Owner, ModifiedOn = file.TimeLastModified.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeLastModified) : file.TimeLastModified, NativeAccessor = file, ProviderId = ID, ProviderKey = ProviderKey, Title = MakeTitle(file.Name), RootFolderId = MakeId(SpRootFolderId), RootFolderType = RootFolderType, RootFolderCreator = Owner, SharedByMe = false, Version = 1 }; if (file.IsPropertyAvailable("Length")) { result.ContentLength = file.Length; } else if(file.IsObjectPropertyInstantiated("ListItemAllFields")) { result.ContentLength = Convert.ToInt64(file.ListItemAllFields["File_x0020_Size"]); } return result; }
public override void ProvisionObjects(Web web, ProvisioningTemplate template, ProvisioningTemplateApplyingInformation applyingInformation) { Log.Info(Constants.LOGGING_SOURCE_FRAMEWORK_PROVISIONING, CoreResources.Provisioning_ObjectHandlers_Files); var context = web.Context as ClientContext; if (!web.IsPropertyAvailable("ServerRelativeUrl")) { context.Load(web, w => w.ServerRelativeUrl); context.ExecuteQueryRetry(); } foreach (var file in template.Files) { var folderName = file.Folder.ToParsedString(); if (folderName.ToLower().StartsWith((web.ServerRelativeUrl.ToLower()))) { folderName = folderName.Substring(web.ServerRelativeUrl.Length); } var folder = web.EnsureFolderPath(folderName); File targetFile = null; var checkedOut = false; targetFile = folder.GetFile(template.Connector.GetFilenamePart(file.Src)); if (targetFile != null) { if (file.Overwrite) { checkedOut = CheckOutIfNeeded(web, targetFile); using (var stream = template.Connector.GetFileStream(file.Src)) { targetFile = folder.UploadFile(template.Connector.GetFilenamePart(file.Src), stream, file.Overwrite); } } else { checkedOut = CheckOutIfNeeded(web, targetFile); } } else { using (var stream = template.Connector.GetFileStream(file.Src)) { targetFile = folder.UploadFile(template.Connector.GetFilenamePart(file.Src), stream, file.Overwrite); } checkedOut = CheckOutIfNeeded(web, targetFile); } if (targetFile != null) { if (file.Properties != null && file.Properties.Any()) { Dictionary <string, string> transformedProperties = file.Properties.ToDictionary(property => property.Key, property => property.Value.ToParsedString()); targetFile.SetFileProperties(transformedProperties, false); // if needed, the file is already checked out } if (file.WebParts != null && file.WebParts.Any()) { if (!targetFile.IsPropertyAvailable("ServerRelativeUrl")) { web.Context.Load(targetFile, f => f.ServerRelativeUrl); web.Context.ExecuteQuery(); } var existingWebParts = web.GetWebParts(targetFile.ServerRelativeUrl); foreach (var webpart in file.WebParts) { // check if the webpart is already set on the page if (existingWebParts.FirstOrDefault(w => w.WebPart.Title == webpart.Title) == null) { var wpEntity = new WebPartEntity(); wpEntity.WebPartTitle = webpart.Title; wpEntity.WebPartXml = webpart.Contents.ToParsedString().Trim(new[] { '\n', ' ' }); wpEntity.WebPartZone = webpart.Zone; wpEntity.WebPartIndex = (int)webpart.Order; web.AddWebPartToWebPartPage(targetFile.ServerRelativeUrl, wpEntity); } } } if (checkedOut) { targetFile.CheckIn("", CheckinType.MajorCheckIn); web.Context.ExecuteQueryRetry(); } } } }
private void EnsurePublish(File file, string publishComment) { // Load dependent data. var parentList = file.ListItemAllFields.ParentList; if (!parentList.IsPropertyAvailable("EnableMinorVersion") || !parentList.IsPropertyAvailable("EnableModeration") || !file.IsPropertyAvailable("Level") || !file.IsPropertyAvailable("ListItemAllFields")) { _clientContext.Load(parentList); _clientContext.Load(file); _clientContext.ExecuteQuery(); } var isDirty = false; if (file.Level == FileLevel.Checkout) { file.CheckIn(string.Empty, CheckinType.MajorCheckIn); isDirty = true; } if (parentList.EnableMinorVersions && file.Level != FileLevel.Published) { file.Publish(publishComment); isDirty = true; } if (parentList.EnableModeration && Convert.ToInt32(file.ListItemAllFields["_ModerationStatus"]) != 0) { file.Approve(string.Empty); isDirty = true; } if (isDirty) { file.RefreshLoad(); _clientContext.ExecuteQuery(); } }