public void PrepareToDelete(ClientPipelineArgs args) { Assert.ArgumentNotNull(args, "args"); var itemIDs = new ListString(args.Parameters["items"]); var database = this.factory.GetDatabase(args.Parameters["database"]); foreach (var itemID in itemIDs) { var item = database.GetItem(itemID); if (SharepointProvider.IsActiveIntegrationConfigItem(item)) { args.Parameters[CancelationKey] = CancelationValue; return; } if (SharepointProvider.IsActiveIntegrationDataItem(item)) { var integrationItem = new IntegrationItem(item); if (!integrationItem.IsNew) { args.CustomData.Add(itemID, integrationItem.GUID); args.CustomData.Add(itemID + "parentID", item.ParentID); } } } }
public static void CopyIntegrationFlagToChildren([NotNull] IntegrationItem integrationItem) { Assert.ArgumentNotNull(integrationItem, "integrationItem"); using (new IntegrationDisabler()) { if (!IsIntegrationFolder(integrationItem.InnerItem) && !IsIntegrationConfigItem(integrationItem.InnerItem)) { return; } foreach (Item childItem in integrationItem.InnerItem.Children) { if (IsIntegrationDataItem(childItem) || IsIntegrationFolder(childItem)) { // It is not necessary to update all descendants recursively, // because it will be done by SaveItem method of ItemProvider class. var childIntegrationItem = new IntegrationItem(childItem) { IsActive = integrationItem.IsActive }; } } } }
public static ProcessSharepointItemArgs CreateSharepointItem([NotNull] IntegrationItem sourceIntegrationItem, [NotNull] SynchContext synchContext) { Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem"); Assert.ArgumentNotNull(synchContext, "synchContext"); var args = new ProcessSharepointItemArgs { SourceIntegrationItemName = sourceIntegrationItem.Name, SourceIntegrationItem = sourceIntegrationItem.InnerItem, SourceIntegrationItemTemplateID = sourceIntegrationItem.InnerItem.TemplateID, SynchContext = synchContext }; return(CreateSharepointItem(args) ? args : null); }
public async Task CreateOrUpdateTvShowAsync(IntegrationItem sagaItem, CancellationToken cancellationToken) { if (sagaItem == null) { throw new ArgumentNullException(nameof(sagaItem)); } var tvShowExternalModel = await _tvMazeClient.GetTvShowInfoAsync(sagaItem.Id, cancellationToken); if (tvShowExternalModel == null) { throw new EntityNotFoundException($"Tv show with id: {sagaItem.Id} was not found at TvMaze api side."); } var tvShow = _mapper.Map <TvShow>(tvShowExternalModel); await _presentationDal.InsertOrUpdateItemAsync(tvShow, cancellationToken); }
public void OnItemSaved(object sender, EventArgs args) { var item = Event.ExtractParameter(args, 0) as Item; Assert.IsNotNull(item, "No item in parameters"); if (IntegrationDisabler.CurrentValue) { return; } if (SharepointProvider.IsActiveIntegrationDataItem(item)) { var integrationItem = new IntegrationItem(item); if (!integrationItem.IsNew) { using (new IntegrationDisabler()) { this.AddToTable(PrefixSave, integrationItem.GUID, item.ParentID); } } } }
public UpdateServiceTests() { _integrationDal = new Mock <IIntegrationDal>(); var dateTimeService = new Mock <IDateTimeService>(); _integrationSagaFactory = new Mock <IIntegrationSagaFactory>(); _tvShowUpdateService = new Mock <ITvShowUpdateService>(); _cancellationToken = new CancellationToken(); var sagaId = new Guid("2aa0b175-7bcb-458a-9130-9b282af9f27b"); var dateTimeOfPreviousExecution = new DateTime(2018, 11, 6, 12, 01, 01); _integrationItem = new IntegrationItem(1); _integrationSaga = new IntegrationSagaExtended { Id = sagaId, StartDate = dateTimeOfPreviousExecution, IntegrationItems = new List <IntegrationItem>() { new IntegrationItem(1), new IntegrationItem(2), new IntegrationItem(3) } }; _updateService = new UpdateService( _integrationDal.Object, dateTimeService.Object, _integrationSagaFactory.Object, _tvShowUpdateService.Object ); }
public DeleteIntegrationItemAction(IntegrationItem item, SynchContext synchContext) : base(item, synchContext) { }
public UpdateSharepointItemAction(ObjectModel.Entities.Items.BaseItem sharepointItem, IntegrationItem item, SynchContext synchContext) : base(item, synchContext) { this.sharepointItem = sharepointItem; }
public ComparableUpdateSharepointItemAction(ObjectModel.Entities.Items.BaseItem sharepointItem, IntegrationItem item, SynchContext synchContext) : base(sharepointItem, item, synchContext) { }
public override SyncActionBase GetCreateSharepointItemAction(SynchronizeTreeArgs args, IntegrationItem item) { return(new CreateSharepointItemAction(item, args.Context)); }
public ComparableUpdateIntegrationItemAction(IntegrationItem item, ObjectModel.Entities.Items.BaseItem sharepointItem, SynchContext synchContext, ProcessIntegrationItemsOptions options) : base(item, sharepointItem, synchContext, options) { }
public abstract SyncActionBase GetDeleteIntegrationItemAction(SynchronizeTreeArgs args, IntegrationItem item);
public abstract SyncActionBase GetUpdateSharepointItemAction(SynchronizeTreeArgs args, BaseItem sharepointItem, IntegrationItem item);
public override SyncActionBase GetUpdateIntegrationItemAction(SynchronizeTreeArgs args, IntegrationItem item, BaseItem sharepointItem) { return(new ComparableUpdateIntegrationItemAction(item, sharepointItem, args.Context, args.Options)); }
public ComparableCreateSharepointItemAction(IntegrationItem item, SynchContext synchContext) : base(item, synchContext) { }
protected IntegrationItemActionBase(IntegrationItem item, SynchContext synchContext) : base(synchContext) { this.Item = item; }
public override SyncActionBase GetUpdateSharepointItemAction(SynchronizeTreeArgs args, BaseItem sharepointItem, IntegrationItem item) { return(new UpdateSharepointItemAction(sharepointItem, item, args.Context)); }
public override SyncActionBase GetDeleteIntegrationItemAction(SynchronizeTreeArgs args, IntegrationItem item) { return(new DeleteIntegrationItemAction(item, args.Context)); }
public CreateSharepointItemAction(IntegrationItem item, SynchContext synchContext) : base(item, synchContext) { Assert.IsTrue(this.Item.IsNew, "The item should be new"); }
public UpdateIntegrationItemAction(IntegrationItem item, ObjectModel.Entities.Items.BaseItem sharepointItem, SynchContext synchContext, ProcessIntegrationItemsOptions options) : base(sharepointItem, synchContext) { this.item = item; this.options = options; }