Table of Contents

Class DataItemReader

Namespace
Dynamicweb.Deployment
Assembly
Dynamicweb.Core.dll

Represents a data item reader

public abstract class DataItemReader : IDisposable
Inheritance
DataItemReader
Implements
Inherited Members

Examples

using System.Collections.Generic;
using System.Linq;

namespace Dynamicweb.Deployment.Examples;

/// <summary>
/// This is an example of how to implement a custom data item reader.
/// </summary>
internal class CustomDataItemReader : DataItemReader
{
    private CustomDataItemProvider customDataItemProvider;

    public CustomDataItemReader(CustomDataItemProvider customDataItemProvider)
    {
        this.customDataItemProvider = customDataItemProvider;
    }

    /// <summary>
    /// Reads the data items with the specified ids.
    /// </summary>
    /// <remarks>
    /// It will be executed on both source and destination when doing a comparison.
    /// </remarks>
    /// <param name="ids">The ids.</param>
    /// <returns>
    /// A sequence of data items
    /// </returns>
    public override IEnumerable<DataItem> ReadItems(IEnumerable<string> ids)
    {
        var dataItems = new List<DataItem>();

        // Check if we need to return all entries
        bool readAllEntries = ids.Any();

        // Use additional parameters from the data item provider for looking up and filtering existing data (optional).
        string myProperty = customDataItemProvider.MyProperty;

        return dataItems;
    }        
}

Methods

CalculateChecksum(IDictionary<string, object?>)

Calculates the checksum.

protected virtual string? CalculateChecksum(IDictionary<string, object?> properties)

Parameters

properties IDictionary<string, object>

The data item properties that should be included in the calculation of checksum value.

Returns

string

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

Dispose(bool)

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

ReadItemInfos()

Reads the data item infos.

public IEnumerable<DataItemInfo> ReadItemInfos()

Returns

IEnumerable<DataItemInfo>

A sequence of data item infos

ReadItemInfos(IEnumerable<string>)

Reads the data item infos with the specified ids.

public virtual IEnumerable<DataItemInfo> ReadItemInfos(IEnumerable<string> ids)

Parameters

ids IEnumerable<string>

The ids.

Returns

IEnumerable<DataItemInfo>

A sequence of data item infos

ReadItems()

Reads all the data items.

public IEnumerable<DataItem> ReadItems()

Returns

IEnumerable<DataItem>

A sequence of data items

ReadItems(IEnumerable<string>)

Reads the data items with the specified ids.

public abstract IEnumerable<DataItem> ReadItems(IEnumerable<string> ids)

Parameters

ids IEnumerable<string>

The ids.

Returns

IEnumerable<DataItem>

A sequence of data items

To top