public IOverrideConfigurationDescriptor WithPeriodicCommit(List <T> values, short maxBlockSize, BatchSize batchSize)
        {
            var jsonValues          = Serialize(values);
            var listBlockDescriptor = new FluentBlockSettingsDescriptor(jsonValues, maxBlockSize);

            listBlockDescriptor.ListUpdateMode = ListUpdateMode.PeriodicBatchCommit;

            switch (batchSize)
            {
            case BatchSize.NotSet:
                listBlockDescriptor.UncommittedItemsThreshold = 100;
                break;

            case BatchSize.Ten:
                listBlockDescriptor.UncommittedItemsThreshold = 10;
                break;

            case BatchSize.Fifty:
                listBlockDescriptor.UncommittedItemsThreshold = 50;
                break;

            case BatchSize.Hundred:
                listBlockDescriptor.UncommittedItemsThreshold = 100;
                break;

            case BatchSize.FiveHundred:
                listBlockDescriptor.UncommittedItemsThreshold = 500;
                break;
            }

            return(listBlockDescriptor);
        }
        public IReprocessScopeDescriptor ReprocessWithBatchCommitAtEnd()
        {
            var listBlockDescriptor = new FluentBlockSettingsDescriptor(BlockType.List);

            listBlockDescriptor.ListUpdateMode = ListUpdateMode.BatchCommitAtEnd;

            return(listBlockDescriptor);
        }
        public IReprocessScopeDescriptor ReprocessWithPeriodicCommit(BatchSize batchSize)
        {
            var listBlockDescriptor = new FluentBlockSettingsDescriptor(BlockType.List);

            listBlockDescriptor.ListUpdateMode = ListUpdateMode.PeriodicBatchCommit;

            return(listBlockDescriptor);
        }
        public IReprocessScopeDescriptor ReprocessWithSingleUnitCommit()
        {
            var listBlockDescriptor = new FluentBlockSettingsDescriptor(BlockType.List);

            listBlockDescriptor.ListUpdateMode = ListUpdateMode.SingleItemCommit;

            return(listBlockDescriptor);
        }
        public IOverrideConfigurationDescriptor WithBatchCommitAtEnd(List <T> values, short maxBlockSize)
        {
            var jsonValues          = Serialize(values);
            var listBlockDescriptor = new FluentBlockSettingsDescriptor(jsonValues, maxBlockSize);

            listBlockDescriptor.ListUpdateMode = ListUpdateMode.BatchCommitAtEnd;

            return(listBlockDescriptor);
        }