protected SharePointCommand(SharePointClientBase sharePointClient, SharePointItemTracking itemTracking, bool stackFirst = false) { Id = Guid.NewGuid(); StackFirst = stackFirst; SharePointClient = sharePointClient; SharePointItemTracking = itemTracking; }
public void SharePointExtensions_ConfigureReferences_ConfiguresAggregatingFromOriginalFields() { // Arrange var aggregatingListItem = new SharePointAggregatingListItem { Id = 1, TitleField = "Aggregating Item" }; var listItem = new SharePointListItem { TitleField = "List Item", LookupField = aggregatingListItem }; var tracking = new SharePointListItemTracking(); var itemListTracking = new SharePointItemTracking(null); var aggregatingListItemTracking = new SharePointItemTracking(null); itemListTracking.LoadOriginalItem(listItem); aggregatingListItemTracking.LoadOriginalItem(aggregatingListItem); tracking.Add(itemListTracking); tracking.Add(aggregatingListItemTracking); // Act itemListTracking.OriginalFields["LookupField"].Should().BeNull(); itemListTracking.ConfigureReferences(tracking, true); // Assert itemListTracking.OriginalFields["LookupField"].Should().Be(aggregatingListItem.Id); }
public override async Task ExecuteAsync() { var id = await SharePointClient.AddItemAsync <TSharePointItem>( SharePointItemTracking.ConfigureReferences(SharePointClient.Tracking)); SharePointItemTracking.Id = id; }
public override async Task PrepareAsync() { await SharePointItemTracking.ConfigureUserFieldsAsync(SharePointClient); var item = await SharePointClient.GetAllFieldsByIdAsync<TSharePointFile>(SharePointItemTracking.Id); SharePointItemTracking.LoadOriginalItem(item.Key, item.Value); }
public override async Task UndoAsync() { var sharePointFile = (ISharePointFile)SharePointItemTracking.OriginalItem; await SharePointClient.AddFileAsync<TSharePointFile>( SharePointItemTracking.ConfigureReferences(SharePointClient.Tracking, true), sharePointFile.FileName, sharePointFile.Folder, sharePointFile.InputStream, true); }
public override async Task ExecuteAsync() { try { var sharePointFile = (ISharePointFile)SharePointItemTracking.Item; var fileInfo = await SharePointClient.AddFileAsync <TSharePointFile>( SharePointItemTracking.ConfigureReferences(SharePointClient.Tracking), sharePointFile.FileName, sharePointFile.Folder, sharePointFile.InputStream, false); SharePointItemTracking.Id = fileInfo.Id; _createdFolders = fileInfo.CreatedFolders; } catch (SharePointException ex) { var data = ex.SharePointData as ValueTuple <int, List <string> >?; _createdFolders = data?.Item2; SharePointItemTracking.Id = data?.Item1 ?? 0; throw ex; } }
public SharePointUpdateItemCommand(SharePointClientBase sharePointClient, SharePointItemTracking itemTracking) : base(sharePointClient, itemTracking) { }
public override async Task PrepareAsync() => await SharePointItemTracking.ConfigureUserFieldsAsync(SharePointClient);
public SharePointAddFileCommand(SharePointClientBase sharePointClient, SharePointItemTracking itemTracking) : base(sharePointClient, itemTracking, true) { }
public SharePointDeleteFileCommand(SharePointClientBase sharePointClient, SharePointItemTracking itemTracking) : base(sharePointClient, itemTracking) { }
public override async Task PrepareAsync() { var item = await SharePointClient.GetAllFieldsByIdAsync <TSharePointItem>(SharePointItemTracking.Id); SharePointItemTracking.LoadOriginalItem(item.Key, item.Value); }