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

ExportManager

using kCura.EDDS.WebAPI.ExportManagerBase; using kCura.WinEDDS.Service.Export; using kCura.WinEDDS.Service.Replacement; using Microsoft.VisualBasic.CompilerServices; using Relativity.DataExchange; using System; using System.Net; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Text; using System.Web.Services.Protocols; namespace kCura.WinEDDS.Service { public class ExportManager : kCura.EDDS.WebAPI.ExportManagerBase.ExportManager, kCura.WinEDDS.Service.Export.IExportManager, kCura.WinEDDS.Service.Replacement.IExportManager { [Serializable] public class InsufficientPermissionsForExportException : Exception { public InsufficientPermissionsForExportException() { } public InsufficientPermissionsForExportException(string message) : base(message) { } public InsufficientPermissionsForExportException(string message, Exception innerException) : base(message, innerException) { } protected InsufficientPermissionsForExportException(SerializationInfo info, StreamingContext context) : base(info, context) { } } [CompilerGenerated] internal sealed class _Closure$__2-0<$CLS0> { public Func<$CLS0> $VB$Local_f; public ExportManager $VB$Me; internal $CLS0 _Lambda$__0() { try { return $VB$Local_f(); } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception ex2 = ex; $VB$Me.UnpackHandledException(ex2); throw; } } } [CompilerGenerated] internal sealed class _Closure$__3-0 { public int $VB$Local_appID; public Guid $VB$Local_runId; public int $VB$Local_artifactTypeID; public int[] $VB$Local_avfIds; public int $VB$Local_chunkSize; public bool $VB$Local_displayMulticodesAsNested; public char $VB$Local_multiValueDelimiter; public char $VB$Local_nestedValueDelimiter; public int[] $VB$Local_textPrecedenceAvfIds; public int $VB$Local_productionId; public int $VB$Local_index; public ExportManager $VB$Me; internal object[] _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).RetrieveResultsBlockForProductionStartingFromIndex($VB$Local_appID, $VB$Local_runId, $VB$Local_artifactTypeID, $VB$Local_avfIds, $VB$Local_chunkSize, $VB$Local_displayMulticodesAsNested, $VB$Local_multiValueDelimiter, $VB$Local_nestedValueDelimiter, $VB$Local_textPrecedenceAvfIds, $VB$Local_productionId, $VB$Local_index); } } [CompilerGenerated] internal sealed class _Closure$__4-0 { public int $VB$Local_appID; public int $VB$Local_viewArtifactID; public int $VB$Local_parentArtifactID; public bool $VB$Local_includeSubFolders; public int[] $VB$Local_avfIds; public int $VB$Local_startAtRecord; public int $VB$Local_artifactTypeID; public ExportManager $VB$Me; internal InitializationResults _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).InitializeFolderExport($VB$Local_appID, $VB$Local_viewArtifactID, $VB$Local_parentArtifactID, $VB$Local_includeSubFolders, $VB$Local_avfIds, $VB$Local_startAtRecord, $VB$Local_artifactTypeID); } } [CompilerGenerated] internal sealed class _Closure$__5-0 { public int $VB$Local_appID; public int $VB$Local_productionArtifactID; public int[] $VB$Local_avfIds; public int $VB$Local_startAtRecord; public ExportManager $VB$Me; internal InitializationResults _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).InitializeProductionExport($VB$Local_appID, $VB$Local_productionArtifactID, $VB$Local_avfIds, $VB$Local_startAtRecord); } } [CompilerGenerated] internal sealed class _Closure$__6-0 { public int $VB$Local_appID; public int $VB$Local_searchArtifactID; public int[] $VB$Local_avfIds; public int $VB$Local_startAtRecord; public ExportManager $VB$Me; internal InitializationResults _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).InitializeSearchExport($VB$Local_appID, $VB$Local_searchArtifactID, $VB$Local_avfIds, $VB$Local_startAtRecord); } } [CompilerGenerated] internal sealed class _Closure$__7-0 { public int $VB$Local_appID; public Guid $VB$Local_runId; public int $VB$Local_artifactTypeID; public int[] $VB$Local_avfIds; public int $VB$Local_chunkSize; public bool $VB$Local_displayMulticodesAsNested; public char $VB$Local_multiValueDelimiter; public char $VB$Local_nestedValueDelimiter; public int[] $VB$Local_textPrecedenceAvfIds; public int $VB$Local_index; public ExportManager $VB$Me; internal object[] _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).RetrieveResultsBlockStartingFromIndex($VB$Local_appID, $VB$Local_runId, $VB$Local_artifactTypeID, $VB$Local_avfIds, $VB$Local_chunkSize, $VB$Local_displayMulticodesAsNested, $VB$Local_multiValueDelimiter, $VB$Local_nestedValueDelimiter, $VB$Local_textPrecedenceAvfIds, $VB$Local_index); } } [CompilerGenerated] internal sealed class _Closure$__9-0 { public int $VB$Local_appID; public ExportManager $VB$Me; internal bool _Lambda$__0() { return ((kCura.EDDS.WebAPI.ExportManagerBase.ExportManager)$VB$Me).HasExportPermissions($VB$Local_appID); } } protected override WebRequest GetWebRequest(Uri uri) { HttpWebRequest obj = (HttpWebRequest)this.GetWebRequest(uri); obj.UnsafeAuthenticatedConnectionSharing = true; obj.Credentials = this.get_Credentials(); return obj; } public ExportManager(ICredentials credentials, CookieContainer cookieContainer) { this.set_Credentials(credentials); this.set_CookieContainer(cookieContainer); base.Url = $"{AppSettings.Instance.WebApiServiceUrl}"""; this.set_Timeout(Settings.DefaultTimeOut); } private T MakeCallAttemptReLogin<T>(Func<T> f) { return WebServiceExtensions.RetryOnReLoginException(this, delegate { try { return f(); } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception ex2 = ex; UnpackHandledException(ex2); throw; } }, true); } public new object[] RetrieveResultsBlockForProductionStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int productionId, int index) { object[] array = MakeCallAttemptReLogin(() => base.RetrieveResultsBlockForProductionStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, productionId, index)); RehydrateStrings(array); return array; } object[] kCura.WinEDDS.Service.Export.IExportManager.RetrieveResultsBlockForProductionStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int productionId, int index) { return this.RetrieveResultsBlockForProductionStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, productionId, index); } object[] kCura.WinEDDS.Service.Replacement.IExportManager.RetrieveResultsBlockForProductionStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int productionId, int index) { return this.RetrieveResultsBlockForProductionStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, productionId, index); } public new InitializationResults InitializeFolderExport(int appID, int viewArtifactID, int parentArtifactID, bool includeSubFolders, int[] avfIds, int startAtRecord, int artifactTypeID) { return MakeCallAttemptReLogin(() => base.InitializeFolderExport(appID, viewArtifactID, parentArtifactID, includeSubFolders, avfIds, startAtRecord, artifactTypeID)); } InitializationResults kCura.WinEDDS.Service.Export.IExportManager.InitializeFolderExport(int appID, int viewArtifactID, int parentArtifactID, bool includeSubFolders, int[] avfIds, int startAtRecord, int artifactTypeID) { return this.InitializeFolderExport(appID, viewArtifactID, parentArtifactID, includeSubFolders, avfIds, startAtRecord, artifactTypeID); } InitializationResults kCura.WinEDDS.Service.Replacement.IExportManager.InitializeFolderExport(int appID, int viewArtifactID, int parentArtifactID, bool includeSubFolders, int[] avfIds, int startAtRecord, int artifactTypeID) { return this.InitializeFolderExport(appID, viewArtifactID, parentArtifactID, includeSubFolders, avfIds, startAtRecord, artifactTypeID); } public new InitializationResults InitializeProductionExport(int appID, int productionArtifactID, int[] avfIds, int startAtRecord) { return MakeCallAttemptReLogin(() => base.InitializeProductionExport(appID, productionArtifactID, avfIds, startAtRecord)); } InitializationResults kCura.WinEDDS.Service.Export.IExportManager.InitializeProductionExport(int appID, int productionArtifactID, int[] avfIds, int startAtRecord) { return this.InitializeProductionExport(appID, productionArtifactID, avfIds, startAtRecord); } InitializationResults kCura.WinEDDS.Service.Replacement.IExportManager.InitializeProductionExport(int appID, int productionArtifactID, int[] avfIds, int startAtRecord) { return this.InitializeProductionExport(appID, productionArtifactID, avfIds, startAtRecord); } public new InitializationResults InitializeSearchExport(int appID, int searchArtifactID, int[] avfIds, int startAtRecord) { return MakeCallAttemptReLogin(() => base.InitializeSearchExport(appID, searchArtifactID, avfIds, startAtRecord)); } InitializationResults kCura.WinEDDS.Service.Export.IExportManager.InitializeSearchExport(int appID, int searchArtifactID, int[] avfIds, int startAtRecord) { return this.InitializeSearchExport(appID, searchArtifactID, avfIds, startAtRecord); } InitializationResults kCura.WinEDDS.Service.Replacement.IExportManager.InitializeSearchExport(int appID, int searchArtifactID, int[] avfIds, int startAtRecord) { return this.InitializeSearchExport(appID, searchArtifactID, avfIds, startAtRecord); } public new object[] RetrieveResultsBlockStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int index) { object[] array = MakeCallAttemptReLogin(() => base.RetrieveResultsBlockStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, index)); RehydrateStrings(array); return array; } object[] kCura.WinEDDS.Service.Export.IExportManager.RetrieveResultsBlockStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int index) { return this.RetrieveResultsBlockStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, index); } object[] kCura.WinEDDS.Service.Replacement.IExportManager.RetrieveResultsBlockStartingFromIndex(int appID, Guid runId, int artifactTypeID, int[] avfIds, int chunkSize, bool displayMulticodesAsNested, char multiValueDelimiter, char nestedValueDelimiter, int[] textPrecedenceAvfIds, int index) { return this.RetrieveResultsBlockStartingFromIndex(appID, runId, artifactTypeID, avfIds, chunkSize, displayMulticodesAsNested, multiValueDelimiter, nestedValueDelimiter, textPrecedenceAvfIds, index); } private void RehydrateStrings(object[] toScrub) { if (toScrub != null) { int num = 0; while (true) { if (num >= toScrub.Length) return; object[] array = (object[])toScrub[num]; if (array == null) break; checked { int num2 = array.Length - 1; for (int i = 0; i <= num2; i++) { if (array[i] is byte[]) array[i] = Encoding.Unicode.GetString(unchecked((byte[])array[i])); } num++; } } throw new Exception("Invalid (null) row retrieved from server"); } } public new bool HasExportPermissions(int appID) { return MakeCallAttemptReLogin(() => base.HasExportPermissions(appID)); } bool kCura.WinEDDS.Service.Export.IExportManager.HasExportPermissions(int appID) { return this.HasExportPermissions(appID); } bool kCura.WinEDDS.Service.Replacement.IExportManager.HasExportPermissions(int appID) { return this.HasExportPermissions(appID); } private void UnpackHandledException(Exception ex) { SoapException val = ex as SoapException; if (val != null) { Exception ex2 = null; try { if (Operators.CompareString(val.get_Detail().SelectNodes("ExceptionType").Item(0) .InnerText, "Relativity.Core.Exception.InsufficientAccessControlListPermissions", false) == 0) ex2 = new InsufficientPermissionsForExportException(val.get_Detail().SelectNodes("ExceptionMessage")[0].InnerText, ex); } catch (Exception projectError) { ProjectData.SetProjectError(projectError); ProjectData.ClearProjectError(); } if (ex2 != null) throw ex2; } } } }