LongTextToFile
using kCura.WinEDDS;
using kCura.WinEDDS.Exporters;
using kCura.WinEDDS.LoadFileEntry;
using Relativity.DataExchange.Export.VolumeManagerV2.Directories;
using Relativity.DataExchange.Export.VolumeManagerV2.Repository;
using Relativity.Logging;
using System;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Text
{
public class LongTextToFile : ILongTextHandler
{
private readonly ExportFile _exportSettings;
private readonly LongTextHelper _longTextHelper;
private readonly IFilePathTransformer _filePathTransformer;
private readonly LongTextRepository _longTextRepository;
private readonly ILog _logger;
public LongTextToFile(ExportFile exportSettings, IFilePathTransformer filePathTransformer, LongTextRepository longTextRepository, LongTextHelper longTextHelper, ILog logger)
{
_exportSettings = exportSettings;
_filePathTransformer = filePathTransformer;
_longTextRepository = longTextRepository;
_longTextHelper = longTextHelper;
_logger = logger;
}
public void HandleLongText(ObjectExportInfo artifact, ViewFieldInfo field, DeferredEntry lineEntry)
{
_logger.LogVerbose("Handling long text to file.", Array.Empty<object>());
ViewFieldInfo textPrecedenceTrueField = _longTextHelper.GetTextPrecedenceTrueField(artifact, field);
string textFileLocation = _longTextRepository.GetTextFileLocation(artifact.ArtifactID, textPrecedenceTrueField.FieldArtifactId);
string text = _filePathTransformer.TransformPath(textFileLocation);
if (_exportSettings.LoadFileIsHtml)
lineEntry.AddStringEntry("<a href='" + text + "' target='_textwindow'>" + text + "</a>");
else
lineEntry.AddStringEntry(text);
}
}
}