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

CodeManager

using kCura.EDDS.WebAPI.CodeManagerBase; using kCura.WinEDDS.Api; using kCura.WinEDDS.Service.Replacement; using Microsoft.VisualBasic.CompilerServices; using Relativity.DataExchange; using Relativity.DataExchange.Data; using Relativity.DataExchange.Service; using System; using System.Collections; using System.Data; using System.Net; using System.Runtime.CompilerServices; using System.Text; using System.Web; using System.Web.Services.Protocols; namespace kCura.WinEDDS.Service { public class CodeManager : kCura.EDDS.WebAPI.CodeManagerBase.CodeManager, ICodeManager { [CompilerGenerated] internal sealed class _Closure$__3-0 { public int $VB$Local_caseContextArtifactID; public CodeManager $VB$Me; internal DataSet _Lambda$__0() { return ((kCura.EDDS.WebAPI.CodeManagerBase.CodeManager)$VB$Me).RetrieveCodesAndTypesForCase($VB$Local_caseContextArtifactID); } } [CompilerGenerated] internal sealed class _Closure$__6-0 { public int $VB$Local_caseContextArtifactID; public int $VB$Local_codeTypeID; public CodeManager $VB$Me; internal DataSet _Lambda$__0() { return ((kCura.EDDS.WebAPI.CodeManagerBase.CodeManager)$VB$Me).GetInitialChunk($VB$Local_caseContextArtifactID, $VB$Local_codeTypeID); } } [CompilerGenerated] internal sealed class _Closure$__7-0 { public int $VB$Local_caseContextArtifactID; public int $VB$Local_codeTypeID; public int $VB$Local_lastCodeID; public CodeManager $VB$Me; internal DataSet _Lambda$__0() { return ((kCura.EDDS.WebAPI.CodeManagerBase.CodeManager)$VB$Me).GetLastChunk($VB$Local_caseContextArtifactID, $VB$Local_codeTypeID, $VB$Local_lastCodeID); } } [CompilerGenerated] internal sealed class _Closure$__8-0 { public int $VB$Local_caseContextArtifactID; public int $VB$Local_codeTypeID; public CodeManager $VB$Me; internal DataSet _Lambda$__0() { return ((kCura.EDDS.WebAPI.CodeManagerBase.CodeManager)$VB$Me).GetAllForHierarchical($VB$Local_caseContextArtifactID, $VB$Local_codeTypeID); } } public CodeManager(ICredentials credentials, CookieContainer cookieContainer) { this.set_Credentials(credentials); this.set_CookieContainer(cookieContainer); base.Url = $"{AppSettings.Instance.WebApiServiceUrl}"""; this.set_Timeout(Settings.DefaultTimeOut); } protected override WebRequest GetWebRequest(Uri uri) { HttpWebRequest obj = (HttpWebRequest)this.GetWebRequest(uri); obj.UnsafeAuthenticatedConnectionSharing = true; obj.Credentials = this.get_Credentials(); return obj; } public Code CreateNewCodeDTOProxy(int codeTypeID, string name, int order, int caseSystemID) { Code code = new Code(); code.CodeType = codeTypeID; code.IsActive = true; code.Name = name; code.Order = order; code.Keywords = string.Empty; code.Notes = string.Empty; code.ParentArtifactID = caseSystemID; code.ContainerID = caseSystemID; code.RelativityApplications = new int[0]; return code; } Code ICodeManager.CreateNewCodeDTOProxy(int codeTypeID, string name, int order, int caseSystemID) { return this.CreateNewCodeDTOProxy(codeTypeID, name, order, caseSystemID); } public new DataSet RetrieveCodesAndTypesForCase(int caseContextArtifactID) { return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveCodesAndTypesForCase(caseContextArtifactID), true); } DataSet ICodeManager.RetrieveCodesAndTypesForCase(int caseContextArtifactID) { return this.RetrieveCodesAndTypesForCase(caseContextArtifactID); } public new object Create(int caseContextArtifactID, Code code) { int num = 0; bool flag = true; string name = code.Name; string name2 = HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(code.Name)); checked { while (num < AppSettings.Instance.MaxReloginTries) { num++; try { if (!flag) { code.Name = name; return base.Create(caseContextArtifactID, code); } code.Name = name2; return CreateEncoded(caseContextArtifactID, code); } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception ex2 = ex; if (ex2 is SoapException && ex2.ToString().IndexOf("NeedToReLoginException") != -1 && num < AppSettings.Instance.MaxReloginTries) Helper.AttemptReLogin(this.get_Credentials(), this.get_CookieContainer(), num, true); else { if (!(ex2 is SoapException) || !ExceptionHelper.IsSoapEndpointNotFound(ex2) || !flag) throw; num--; flag = false; } ProjectData.ClearProjectError(); } } return null; } } object ICodeManager.Create(int caseContextArtifactID, Code code) { return this.Create(caseContextArtifactID, code); } public new int ReadID(int caseContextArtifactID, int parentArtifactID, int codeTypeID, string name) { int num = 0; bool flag = true; checked { while (num < AppSettings.Instance.MaxReloginTries) { num++; try { if (!flag) return base.ReadID(caseContextArtifactID, parentArtifactID, codeTypeID, name); return ReadIDEncoded(caseContextArtifactID, parentArtifactID, codeTypeID, HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(name))); } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception ex2 = ex; if (ex2 is SoapException && ex2.ToString().IndexOf("NeedToReLoginException") != -1 && num < AppSettings.Instance.MaxReloginTries) Helper.AttemptReLogin(this.get_Credentials(), this.get_CookieContainer(), num, true); else { if (!(ex2 is SoapException) || !ExceptionHelper.IsSoapEndpointNotFound(ex2) || !flag) throw; num--; flag = false; } ProjectData.ClearProjectError(); } } return 0; } } int ICodeManager.ReadID(int caseContextArtifactID, int parentArtifactID, int codeTypeID, string name) { return this.ReadID(caseContextArtifactID, parentArtifactID, codeTypeID, name); } public new DataSet GetInitialChunk(int caseContextArtifactID, int codeTypeID) { return WebServiceExtensions.RetryOnReLoginException(this, () => base.GetInitialChunk(caseContextArtifactID, codeTypeID), true); } public new DataSet GetLastChunk(int caseContextArtifactID, int codeTypeID, int lastCodeID) { return WebServiceExtensions.RetryOnReLoginException(this, () => base.GetLastChunk(caseContextArtifactID, codeTypeID, lastCodeID), true); } public new DataSet GetAllForHierarchical(int caseContextArtifactID, int codeTypeID) { return WebServiceExtensions.RetryOnReLoginException(this, () => base.GetAllForHierarchical(caseContextArtifactID, codeTypeID), true); } DataSet ICodeManager.GetAllForHierarchical(int caseContextArtifactID, int codeTypeID) { return this.GetAllForHierarchical(caseContextArtifactID, codeTypeID); } public global::Relativity.DataExchange.Service.ChoiceInfo[] RetrieveAllCodesOfType(int caseContextArtifactID, int codeTypeID) { ArrayList arrayList = new ArrayList(); int num = -1; DataTable dataTable; do { dataTable = ((num != -1) ? GetLastChunk(caseContextArtifactID, codeTypeID, num).Tables[0] : GetInitialChunk(caseContextArtifactID, codeTypeID).Tables[0]); IEnumerator enumerator = default(IEnumerator); try { enumerator = dataTable.Rows.GetEnumerator(); while (enumerator.MoveNext()) { DataRow row = (DataRow)enumerator.Current; arrayList.Add(new global::Relativity.DataExchange.Service.ChoiceInfo(row)); } } finally { if (enumerator is IDisposable) (enumerator as IDisposable).Dispose(); } if (arrayList.Count > 0) num = ((global::Relativity.DataExchange.Service.ChoiceInfo)arrayList[checked(arrayList.Count - 1)]).ArtifactID; } while (dataTable != null && dataTable.Rows.Count != 0); return (global::Relativity.DataExchange.Service.ChoiceInfo[])arrayList.ToArray(typeof(global::Relativity.DataExchange.Service.ChoiceInfo)); } global::Relativity.DataExchange.Service.ChoiceInfo[] ICodeManager.RetrieveAllCodesOfType(int caseContextArtifactID, int codeTypeID) { return this.RetrieveAllCodesOfType(caseContextArtifactID, codeTypeID); } public global::Relativity.DataExchange.Service.ChoiceInfo RetrieveCodeByNameAndTypeID(int caseContextArtifactID, ArtifactField codeType, string name) { int num = 0; bool flag = true; ValidateChoiceName(name, codeType); checked { while (num < AppSettings.Instance.MaxReloginTries) { num++; try { if (!flag) return Convert(RetrieveCodeByNameAndTypeID(caseContextArtifactID, codeType.CodeTypeID, name)); return Convert(RetrieveCodeByNameAndTypeIDEncoded(caseContextArtifactID, codeType.CodeTypeID, HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(name)))); } catch (InvalidOperationException ex) { ProjectData.SetProjectError(ex); InvalidOperationException ex2 = ex; if (ex2.ToString().IndexOf("invalid character") != -1) throw new ImporterException($"""{codeType.CodeTypeID}""", ex2); throw; } catch (Exception ex3) { ProjectData.SetProjectError(ex3); Exception ex4 = ex3; if (ex4 is SoapException && ex4.ToString().IndexOf("NeedToReLoginException") != -1 && num < AppSettings.Instance.MaxReloginTries) Helper.AttemptReLogin(this.get_Credentials(), this.get_CookieContainer(), num, true); else { if (!(ex4 is SoapException) || !ExceptionHelper.IsSoapEndpointNotFound(ex4) || !flag) throw; num--; flag = false; } ProjectData.ClearProjectError(); } } return null; } } global::Relativity.DataExchange.Service.ChoiceInfo ICodeManager.RetrieveCodeByNameAndTypeID(int caseContextArtifactID, ArtifactField codeType, string name) { return this.RetrieveCodeByNameAndTypeID(caseContextArtifactID, codeType, name); } private void ValidateChoiceName(string name, ArtifactField codeType) { if (name.Contains("")) throw new ImporterException($"""{codeType.CodeTypeID}"""); } public new int GetChoiceLimitForUI() { return WebServiceExtensions.RetryOnReLoginException(this, () => base.GetChoiceLimitForUI(), true); } int ICodeManager.GetChoiceLimitForUI() { return this.GetChoiceLimitForUI(); } public static global::Relativity.DataExchange.Service.ChoiceInfo Convert(kCura.EDDS.WebAPI.CodeManagerBase.ChoiceInfo webserviceChoiceInfo) { if (webserviceChoiceInfo != null) return new global::Relativity.DataExchange.Service.ChoiceInfo { ArtifactID = webserviceChoiceInfo.ArtifactID, CodeTypeID = webserviceChoiceInfo.CodeTypeID, Name = webserviceChoiceInfo.Name, Order = webserviceChoiceInfo.Order, ParentArtifactID = webserviceChoiceInfo.ParentArtifactID }; return null; } [CompilerGenerated] private int _Lambda$__12-0() { return base.GetChoiceLimitForUI(); } } }