<PackageReference Include="Relativity.Server.Import.SDK" Version="2.9.2" />

NotTooLongTextToLoadFile

using kCura.WinEDDS; using kCura.WinEDDS.Exporters; using kCura.WinEDDS.LoadFileEntry; using Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Writers; using Relativity.DataExchange.Logger; using Relativity.Logging; using System.IO; using System.Text; namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Text { public class NotTooLongTextToLoadFile : ILongTextHandler { private readonly ExportFile _exportSettings; private readonly LongTextHelper _longTextHelper; private readonly FromFieldToLoadFileWriter _fileWriter; private readonly ILog _logger; public NotTooLongTextToLoadFile(LongTextHelper longTextHelper, FromFieldToLoadFileWriter fileWriter, ILog logger, ExportFile exportSettings) { _longTextHelper = longTextHelper; _fileWriter = fileWriter; _logger = logger; _exportSettings = exportSettings; } public void HandleLongText(ObjectExportInfo artifact, ViewFieldInfo field, DeferredEntry lineEntry) { _logger.LogVerbose("Writing text from memory to memory stream for formatting. Passing value to line entry. Field {fieldName}.", new object[1] { field.AvfColumnName.Secure() }); using (MemoryStream memoryStream = new MemoryStream()) using (StreamWriter streamWriter = new StreamWriter(memoryStream, _exportSettings.LoadFileEncoding)) { string textFromField = _longTextHelper.GetTextFromField(artifact, field.AvfColumnName); _fileWriter.WriteLongTextFileToDatFile(streamWriter, textFromField, Encoding.Default); streamWriter.Flush(); memoryStream.Position = 0; using (StreamReader streamReader = new StreamReader(memoryStream, _exportSettings.LoadFileEncoding)) { string partialEntry = streamReader.ReadToEnd(); lineEntry.AddStringEntry(partialEntry); } } } } }