LineFieldsValue
using kCura.WinEDDS;
using kCura.WinEDDS.Exporters;
using kCura.WinEDDS.LoadFileEntry;
using Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Text;
using Relativity.DataExchange.Logger;
using Relativity.Logging;
using System.Collections.Generic;
using System.Linq;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Natives
{
public class LineFieldsValue : ILineFieldsValue
{
private readonly IFieldService _fieldLookupService;
private readonly ILongTextHandler _longTextHandler;
private readonly LongTextHelper _longTextHelper;
private readonly NonTextFieldHandler _nonTextFieldHandler;
private readonly ExportFile _exportSettings;
private readonly ILog _logger;
public LineFieldsValue(IFieldService fieldLookupService, ILongTextHandler longTextHandler, LongTextHelper longTextHelper, NonTextFieldHandler nonTextFieldHandler, ExportFile exportSettings, ILog logger)
{
_fieldLookupService = fieldLookupService;
_longTextHandler = longTextHandler;
_longTextHelper = longTextHelper;
_nonTextFieldHandler = nonTextFieldHandler;
_exportSettings = exportSettings;
_logger = logger;
}
public void AddFieldsValue(DeferredEntry loadFileEntry, ObjectExportInfo artifact)
{
List<ViewFieldInfo> list = _fieldLookupService.GetColumns().ToList();
for (int i = 0; i < list.Count; i++) {
ViewFieldInfo viewFieldInfo = list[i];
_logger.LogVerbose("Adding field {field} value to load file entry.", new object[1] {
viewFieldInfo.AvfColumnName.Secure()
});
if (_longTextHelper.IsLongTextField(viewFieldInfo))
_longTextHandler.HandleLongText(artifact, viewFieldInfo, loadFileEntry);
else
_nonTextFieldHandler.AddNonTextField(viewFieldInfo, loadFileEntry, artifact);
if (i != list.Count - 1 && !_exportSettings.LoadFileIsHtml)
loadFileEntry.AddStringEntry(_exportSettings.RecordDelimiter.ToString());
}
}
}
}