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

LoadFile

public class LoadFile : ISerializable
using kCura.WinEDDS.Service; using Microsoft.VisualBasic; using Microsoft.VisualBasic.CompilerServices; using Relativity.DataExchange; using Relativity.DataExchange.Service; using System; using System.Collections.Generic; using System.Collections.Specialized; using System.IO; using System.Net; using System.Runtime.Serialization; using System.Text; namespace kCura.WinEDDS { [Serializable] public class LoadFile : ISerializable { public enum FieldOverlayBehavior { UseRelativityDefaults, MergeAll, ReplaceAll } public int DestinationFolderID; public string FilePath; public bool FirstLineContainsHeaders; public bool LoadNativeFiles; public char RecordDelimiter; public char QuoteDelimiter; public char NewlineDelimiter; public char MultiRecordDelimiter; public string OverwriteDestination; public LoadFileFieldMap FieldMap; public string NativeFilePathColumn; public string GroupIdentifierColumn; public string DataGridIDColumn; public DocumentField SelectedIdentifierField; public bool CreateFolderStructure; public string FolderStructureContainedInColumn; public bool FullTextColumnContainsFileLocation; public int ArtifactTypeID; public char HierarchicalValueDelimiter; public HybridDictionary PreviewCodeCount; public Encoding SourceFileEncoding; public string LongTextColumnThatContainsPathToFullText; public Encoding ExtractedTextFileEncoding; public long StartLineNumber; public int IdentityFieldId; public bool SendEmailOnLoadCompletion; public bool ForceFolderPreview; public bool OIFileIdMapped; public string OIFileIdColumnName; public string OIFileTypeColumnName; public bool FileSizeMapped; public string FileSizeColumn; public string FileNameColumn; public bool MoveDocumentsInAppendOverlayMode; public FieldOverlayBehavior? OverlayBehavior; public string SupportedByViewerColumn; public bool Billable; [NonSerialized] public IList<int> ObjectFieldIdListContainsArtifactId; [NonSerialized] public string ExtractedTextFileEncodingName; [NonSerialized] public string CaseDefaultPath; [NonSerialized] public NetworkCredential Credentials; [NonSerialized] public WebApiCredential WebApiCredential; [NonSerialized] public CookieContainer _cookieContainer; [NonSerialized] public CaseInfo CaseInfo; [NonSerialized] public string SelectedCasePath; [NonSerialized] public bool CopyFilesToDocumentRepository; public CookieContainer CookieContainer { get { return _cookieContainer; } set { _cookieContainer = value; } } public LoadFile() { PreviewCodeCount = new HybridDictionary(); IdentityFieldId = -1; Billable = true; CaseDefaultPath = ""; SelectedCasePath = ""; CopyFilesToDocumentRepository = true; FilePath = string.Empty; RecordDelimiter = ''; QuoteDelimiter = 'þ'; NewlineDelimiter = '®'; MultiRecordDelimiter = ';'; HierarchicalValueDelimiter = '\\'; FirstLineContainsHeaders = true; FieldMap = new LoadFileFieldMap(); OverlayBehavior = null; } public int DetermineDestinationFolderID() { if (ArtifactTypeID != 10) return CaseInfo.RootArtifactID; return DestinationFolderID; } public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("FilePath", FilePath, typeof(string)); info.AddValue("FirstLineContainsHeaders", FirstLineContainsHeaders, typeof(bool)); info.AddValue("LoadNativeFiles", LoadNativeFiles, typeof(bool)); if (!OverlayBehavior.HasValue || !OverlayBehavior.HasValue) info.AddValue("OverlayBehavior", null, typeof(int)); else info.AddValue("OverlayBehavior", OverlayBehavior, typeof(int)); info.AddValue("RecordDelimiter", (int)RecordDelimiter, typeof(int)); info.AddValue("QuoteDelimiter", (int)QuoteDelimiter, typeof(int)); info.AddValue("NewlineDelimiter", (int)NewlineDelimiter, typeof(int)); info.AddValue("MultiRecordDelimiter", (int)MultiRecordDelimiter, typeof(int)); info.AddValue("OverwriteDestination", OverwriteDestination, typeof(bool)); info.AddValue("FieldMap", FieldMap, typeof(LoadFileFieldMap)); info.AddValue("NativeFilePathColumn", NativeFilePathColumn, typeof(string)); info.AddValue("SelectedIdentifierField", SelectedIdentifierField, typeof(DocumentField)); info.AddValue("FolderStructureContainedInColumn", FolderStructureContainedInColumn, typeof(string)); info.AddValue("CreateFolderStructure", CreateFolderStructure, typeof(bool)); info.AddValue("FullTextColumnContainsFileLocation", FullTextColumnContainsFileLocation, typeof(bool)); info.AddValue("LongTextColumnThatContainsPathToFullText", LongTextColumnThatContainsPathToFullText, typeof(string)); info.AddValue("GroupIdentifierColumn", GroupIdentifierColumn, typeof(string)); info.AddValue("DataGridIDColumn", DataGridIDColumn, typeof(string)); info.AddValue("HierarchicalValueDelimiter", (int)HierarchicalValueDelimiter, typeof(int)); if (SourceFileEncoding == null) info.AddValue("SourceFileEncoding", -1, typeof(int)); else info.AddValue("SourceFileEncoding", SourceFileEncoding.CodePage, typeof(int)); info.AddValue("ArtifactTypeID", ArtifactTypeID, typeof(int)); info.AddValue("StartLineNumber", StartLineNumber, typeof(long)); info.AddValue("IdentityFieldId", IdentityFieldId, typeof(int)); info.AddValue("SendEmailOnLoadCompletion", SendEmailOnLoadCompletion, typeof(bool)); info.AddValue("ForceFolderPreview", ForceFolderPreview, typeof(bool)); if (FullTextColumnContainsFileLocation) { if (ExtractedTextFileEncoding == null) info.AddValue("ExtractedTextFileEncoding", -1, typeof(int)); else info.AddValue("ExtractedTextFileEncoding", ExtractedTextFileEncoding.CodePage, typeof(int)); } } void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { this.GetObjectData(info, context); } private LoadFile(SerializationInfo info, StreamingContext Context) { PreviewCodeCount = new HybridDictionary(); IdentityFieldId = -1; Billable = true; CaseDefaultPath = ""; SelectedCasePath = ""; CopyFilesToDocumentRepository = true; FilePath = info.GetString("FilePath"); try { if (!File.Exists(FilePath)) FilePath = ""; } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception ex2 = ex; FilePath = ""; ProjectData.ClearProjectError(); } NativeFilePathColumn = info.GetString("NativeFilePathColumn"); FirstLineContainsHeaders = info.GetBoolean("FirstLineContainsHeaders"); LoadNativeFiles = info.GetBoolean("LoadNativeFiles"); OverwriteDestination = info.GetString("OverwriteDestination"); RecordDelimiter = Strings.ChrW(info.GetInt32("RecordDelimiter")); QuoteDelimiter = Strings.ChrW(info.GetInt32("QuoteDelimiter")); NewlineDelimiter = Strings.ChrW(info.GetInt32("NewlineDelimiter")); MultiRecordDelimiter = Strings.ChrW(info.GetInt32("MultiRecordDelimiter")); SelectedIdentifierField = (DocumentField)info.GetValue("SelectedIdentifierField", typeof(DocumentField)); try { GroupIdentifierColumn = (string)info.GetValue("GroupIdentifierColumn", typeof(string)); } catch (Exception projectError) { ProjectData.SetProjectError(projectError); GroupIdentifierColumn = ""; ProjectData.ClearProjectError(); } try { DataGridIDColumn = (string)info.GetValue("DataGridIDColumn", typeof(string)); } catch (Exception projectError2) { ProjectData.SetProjectError(projectError2); DataGridIDColumn = ""; ProjectData.ClearProjectError(); } FieldMap = (LoadFileFieldMap)info.GetValue("FieldMap", typeof(LoadFileFieldMap)); FolderStructureContainedInColumn = info.GetString("FolderStructureContainedInColumn"); CreateFolderStructure = info.GetBoolean("CreateFolderStructure"); try { FullTextColumnContainsFileLocation = info.GetBoolean("FullTextColumnContainsFileLocation"); } catch (Exception ex3) { ProjectData.SetProjectError(ex3); Exception ex4 = ex3; FullTextColumnContainsFileLocation = false; ProjectData.ClearProjectError(); } try { LongTextColumnThatContainsPathToFullText = info.GetString("LongTextColumnThatContainsPathToFullText"); } catch (Exception projectError3) { ProjectData.SetProjectError(projectError3); if (FullTextColumnContainsFileLocation) LongTextColumnThatContainsPathToFullText = "Extracted Text"; else LongTextColumnThatContainsPathToFullText = ""; ProjectData.ClearProjectError(); } int num = 0; try { num = info.GetInt32("HierarchicalValueDelimiter"); } catch (Exception ex5) { ProjectData.SetProjectError(ex5); Exception ex6 = ex5; ProjectData.ClearProjectError(); } if (num == 0) num = 92; try { HierarchicalValueDelimiter = Strings.ChrW(num); } catch (Exception ex7) { ProjectData.SetProjectError(ex7); Exception ex8 = ex7; HierarchicalValueDelimiter = '\\'; ProjectData.ClearProjectError(); } try { int int = info.GetInt32("SourceFileEncoding"); if (int == -1) SourceFileEncoding = null; else SourceFileEncoding = Encoding.GetEncoding(int); } catch (Exception projectError4) { ProjectData.SetProjectError(projectError4); SourceFileEncoding = Encoding.Default; ProjectData.ClearProjectError(); } try { int int2 = info.GetInt32("ExtractedTextFileEncoding"); if (int2 == -1) ExtractedTextFileEncoding = null; else ExtractedTextFileEncoding = Encoding.GetEncoding(int2); } catch (Exception projectError5) { ProjectData.SetProjectError(projectError5); ExtractedTextFileEncoding = null; ProjectData.ClearProjectError(); } try { ArtifactTypeID = info.GetInt32("ArtifactTypeID"); } catch (Exception projectError6) { ProjectData.SetProjectError(projectError6); ArtifactTypeID = 10; ProjectData.ClearProjectError(); } try { StartLineNumber = info.GetInt64("StartLineNumber"); } catch (Exception projectError7) { ProjectData.SetProjectError(projectError7); StartLineNumber = 0; ProjectData.ClearProjectError(); } try { IdentityFieldId = info.GetInt32("IdentityFieldId"); } catch (Exception projectError8) { ProjectData.SetProjectError(projectError8); IdentityFieldId = -1; ProjectData.ClearProjectError(); } try { SendEmailOnLoadCompletion = info.GetBoolean("SendEmailOnLoadCompletion"); } catch (Exception projectError9) { ProjectData.SetProjectError(projectError9); SendEmailOnLoadCompletion = Settings.SendEmailOnLoadCompletion; ProjectData.ClearProjectError(); } try { ForceFolderPreview = info.GetBoolean("ForceFolderPreview"); } catch (Exception projectError10) { ProjectData.SetProjectError(projectError10); ForceFolderPreview = AppSettings.Instance.ForceFolderPreview; ProjectData.ClearProjectError(); } try { OverlayBehavior = (FieldOverlayBehavior)info.GetInt32("OverlayBehavior"); } catch (Exception projectError11) { ProjectData.SetProjectError(projectError11); OverlayBehavior = null; ProjectData.ClearProjectError(); } } } }