LoadFile
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 ;
[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();
}
}
}
}