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

SimpleIproImageLineFactory

using Microsoft.VisualBasic.CompilerServices; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Text; namespace kCura.WinEDDS.Exporters.LineFactory { public class SimpleIproImageLineFactory : ImageLineFactoryBase { private string ImportCodeIdentifier => "IM"; private string ImageKey => base.BatesNumber; private string DocumentDesignation { get { if (base.PageNumber != 1) return ""; return "D"; } } private string TiffFileOffset { get { int num; switch (base.ImageType) { case ExportFile.ImageType.MultiPageTiff: num = base.PageNumber; return num.ToString(); case ExportFile.ImageType.Pdf: num = base.PageNumber; return num.ToString(); case ExportFile.ImageType.SinglePage: num = 0; return num.ToString(); default: return null; } } } private string VolumeIdentifier => "@" + base.VolumeName; private string DirectoryPath => Path.GetDirectoryName(base.FullFilePath); private string Filename => Path.GetFileName(base.FullFilePath); private string IproImageFileType { get { string left = Path.GetExtension(base.FullFilePath).ToLower().Trim(".".ToCharArray()); int num; if (Operators.CompareString(left, "pdf", false) == 0) { num = 7; return num.ToString(); } if (Operators.CompareString(left, "jpg", false) != 0 && Operators.CompareString(left, "jpeg", false) != 0) { if (Operators.CompareString(left, "tif", false) != 0 && Operators.CompareString(left, "tiff", false) != 0) return null; num = 2; return num.ToString(); } num = 4; return num.ToString(); } } public SimpleIproImageLineFactory(string batesNumber, int pageNumber, string fullFilePath, string volumeName, ExportFile.ImageType imageType) : base(batesNumber, pageNumber, fullFilePath, volumeName, imageType) { } public override void WriteLine(StreamWriter stream, ConcurrentBag<KeyValuePair<string, string>> linesToWriteOpt) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(ImportCodeIdentifier); stringBuilder.Append(","); stringBuilder.Append(ImageKey); stringBuilder.Append(","); stringBuilder.Append(DocumentDesignation); stringBuilder.Append(","); stringBuilder.Append(TiffFileOffset); stringBuilder.Append(","); stringBuilder.Append(VolumeIdentifier); stringBuilder.Append(";"); stringBuilder.Append(DirectoryPath); stringBuilder.Append(";"); stringBuilder.Append(Filename); stringBuilder.Append(";"); stringBuilder.Append(IproImageFileType); stringBuilder.Append("\r\n"); linesToWriteOpt.Add(new KeyValuePair<string, string>(ImageKey, stringBuilder.ToString())); } } }