NativeSettingsFactory
using Microsoft.VisualBasic.CompilerServices;
using Relativity.DataExchange.Service;
using System;
using System.Net;
using System.Text;
namespace kCura.WinEDDS
{
public class NativeSettingsFactory : SettingsFactoryBase
{
private LoadFile _loadFile;
private DocumentFieldCollection _docFields;
public int CaseArtifactID {
set {
_loadFile.CaseInfo = base.CaseManager.Read(value);
_loadFile.CaseDefaultPath = _loadFile.CaseInfo.DocumentPath;
_loadFile.DestinationFolderID = _loadFile.CaseInfo.RootFolderID;
_docFields = base.FieldQuery.RetrieveAllAsDocumentFieldCollection(value, 10);
}
}
public string SourceFilePath {
set {
_loadFile.FilePath = value;
}
}
public bool CopyFilesToDocumentRepository {
set {
_loadFile.CopyFilesToDocumentRepository = value;
}
}
public bool CreateFolderStructure {
set {
_loadFile.CreateFolderStructure = value;
}
}
public int DestinationFolderID {
set {
_loadFile.DestinationFolderID = value;
}
}
public Encoding ExtractedTextFileEncoding {
set {
_loadFile.ExtractedTextFileEncoding = value;
_loadFile.ExtractedTextFileEncodingName = SqlNameHelper.GetSqlFriendlyName(_loadFile.ExtractedTextFileEncoding.EncodingName).ToLower();
}
}
public bool FirstLineContainsHeaders {
set {
_loadFile.FirstLineContainsHeaders = value;
}
}
public string FolderStructureContainedInColumn {
set {
_loadFile.FolderStructureContainedInColumn = value;
}
}
public bool FullTextColumnContainsFileLocation {
set {
_loadFile.FullTextColumnContainsFileLocation = value;
}
}
public char HierarchicalValueDelimiter {
set {
_loadFile.HierarchicalValueDelimiter = value;
}
}
public bool LoadNativeFiles {
set {
_loadFile.LoadNativeFiles = value;
}
}
public char MultiRecordDelimiter {
set {
_loadFile.MultiRecordDelimiter = value;
}
}
public int NativeFilePathColumnIndex {
set {
if (value == -1)
_loadFile.NativeFilePathColumn = null;
else
_loadFile.NativeFilePathColumn = "(" + Conversions.ToString(checked(value + 1)) + ")";
}
}
public char NewlineProxy {
set {
_loadFile.NewlineDelimiter = value;
}
}
public OverwriteType OverwriteDestination {
set {
ImportOverwriteType importOverwriteType;
switch (value) {
case OverwriteType.Append: {
LoadFile loadFile3 = _loadFile;
importOverwriteType = ImportOverwriteType.Append;
loadFile3.OverwriteDestination = importOverwriteType.ToString();
break;
}
case OverwriteType.AppendOverlay: {
LoadFile loadFile2 = _loadFile;
importOverwriteType = ImportOverwriteType.AppendOverlay;
loadFile2.OverwriteDestination = importOverwriteType.ToString();
break;
}
case OverwriteType.Overlay: {
LoadFile loadFile = _loadFile;
importOverwriteType = ImportOverwriteType.Overlay;
loadFile.OverwriteDestination = importOverwriteType.ToString();
break;
}
}
}
}
public char QuoteProxy {
set {
_loadFile.QuoteDelimiter = value;
}
}
public char RecordDelimiter {
set {
_loadFile.RecordDelimiter = value;
}
}
public string SelectedDestinationRepository {
set {
_loadFile.SelectedCasePath = value;
}
}
public Encoding SourceFileEncoding {
set {
_loadFile.SourceFileEncoding = value;
}
}
public NativeSettingsFactory(NetworkCredential credential, int caseArtifactID, Func<string> correlationIdFunc)
: base(credential, correlationIdFunc)
{
InitloadFile(caseArtifactID);
}
public NativeSettingsFactory(string login, string password, int caseArtifactID, Func<string> correlationIdFunc)
: base(login, password, correlationIdFunc)
{
InitloadFile(caseArtifactID);
}
private void InitloadFile(int caseArtifactID)
{
_loadFile = new LoadFile();
_loadFile.ArtifactTypeID = 10;
_loadFile.CookieContainer = base.CookieContainer;
_loadFile.CopyFilesToDocumentRepository = true;
_loadFile.CreateFolderStructure = false;
_loadFile.Credentials = base.Credential;
_loadFile.ExtractedTextFileEncoding = Encoding.Default;
_loadFile.ExtractedTextFileEncodingName = SqlNameHelper.GetSqlFriendlyName(_loadFile.ExtractedTextFileEncoding.EncodingName).ToLower();
_loadFile.FieldMap = new LoadFileFieldMap();
_loadFile.FirstLineContainsHeaders = true;
_loadFile.FolderStructureContainedInColumn = null;
_loadFile.FullTextColumnContainsFileLocation = false;
_loadFile.GroupIdentifierColumn = "";
_loadFile.DataGridIDColumn = "";
_loadFile.HierarchicalValueDelimiter = '\\';
_loadFile.LoadNativeFiles = false;
_loadFile.MultiRecordDelimiter = ';';
_loadFile.NativeFilePathColumn = null;
_loadFile.NewlineDelimiter = '®';
_loadFile.OverwriteDestination = ((Enum)0).ToString();
_loadFile.QuoteDelimiter = 'þ';
_loadFile.RecordDelimiter = '';
_loadFile.SourceFileEncoding = Encoding.Default;
CaseArtifactID = caseArtifactID;
_loadFile.SelectedCasePath = _loadFile.CaseInfo.DocumentPath;
_loadFile.SelectedIdentifierField = _docFields.IdentifierFields()[0];
}
public void AddMappedItem(int sourceColumnIndex, int fieldArtifactID)
{
AddMappedItem(sourceColumnIndex, _docFields.Item(fieldArtifactID));
}
public void AddMappedItem(int sourceColumnIndex, string fieldDisplayName)
{
AddMappedItem(sourceColumnIndex, _docFields.Item(fieldDisplayName));
}
public void AddMappedItem(int sourceColumnIndex, DocumentField field)
{
_loadFile.FieldMap.Add(new LoadFileFieldMap.LoadFileFieldMapItem(field, sourceColumnIndex));
}
public override void Save(string location)
{
SaveObject(location, _loadFile);
}
public LoadFile ToLoadFile()
{
return _loadFile;
}
}
}