LoadFileLine
using kCura.WinEDDS.Exporters;
using kCura.WinEDDS.LoadFileEntry;
using Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Pdfs;
using Relativity.Logging;
using System;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Natives
{
public class LoadFileLine : ILoadFileLine
{
private readonly LinePrefix _prefix;
private readonly ILineFieldsValue _fieldsValue;
private readonly LineImageField _imageField;
private readonly ILineNativeFilePath _nativeFilePath;
private readonly ILinePdfFilePath _pdfFilePath;
private readonly LineSuffix _suffix;
private readonly LineNewLine _newLine;
private readonly ILog _logger;
public LoadFileLine(LinePrefix prefix, ILineFieldsValue fieldsValue, LineImageField imageField, ILineNativeFilePath nativeFilePath, ILinePdfFilePath pdfFilePath, LineSuffix suffix, LineNewLine newLine, ILog logger)
{
_prefix = prefix;
_fieldsValue = fieldsValue;
_imageField = imageField;
_nativeFilePath = nativeFilePath;
_pdfFilePath = pdfFilePath;
_suffix = suffix;
_newLine = newLine;
_logger = logger;
}
public ILoadFileEntry CreateLine(ObjectExportInfo artifact)
{
_logger.LogVerbose("Creating load file entry for artifact {artifactId}.", new object[1] {
artifact.ArtifactID
});
DeferredEntry deferredEntry = new DeferredEntry();
_prefix.AddPrefix(deferredEntry);
_fieldsValue.AddFieldsValue(deferredEntry, artifact);
_imageField.AddImageField(deferredEntry, artifact);
_nativeFilePath.AddNativeFilePath(deferredEntry, artifact);
_pdfFilePath.AddPdfFilePath(deferredEntry, artifact);
_suffix.AddSuffix(deferredEntry);
_newLine.AddNewLine(deferredEntry);
_logger.LogVerbose("Load file entry created.", Array.Empty<object>());
return deferredEntry;
}
}
}