FolderManager
using kCura.EDDS.WebAPI.FolderManagerBase;
using kCura.WinEDDS.Service.Replacement;
using Relativity.DataExchange;
using System;
using System.Data;
using System.Net;
using System.Runtime.CompilerServices;
using System.Text.RegularExpressions;
namespace kCura.WinEDDS.Service
{
public class FolderManager : kCura.EDDS.WebAPI.FolderManagerBase.FolderManager, IHierarchicArtifactManager, IFolderManager
{
[CompilerGenerated]
internal sealed class _Closure$__10-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_lastFolderID;
public FolderManager $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).RetrieveNextChunk($VB$Local_caseContextArtifactID, $VB$Local_lastFolderID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__4-0
{
public int $VB$Local_caseContextArtifactID;
public FolderManager $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).RetrieveAllByCaseID($VB$Local_caseContextArtifactID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__5-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_folderArtifactID;
public FolderManager $VB$Me;
internal Folder _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).Read($VB$Local_caseContextArtifactID, $VB$Local_folderArtifactID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__6-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_parentArtifactID;
public string $VB$Local_name;
public FolderManager $VB$Me;
internal int _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).ReadID($VB$Local_caseContextArtifactID, $VB$Local_parentArtifactID, $VB$Local_name);
}
}
[CompilerGenerated]
internal sealed class _Closure$__7-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_parentArtifactID;
public string $VB$Local_name;
public FolderManager $VB$Me;
internal unsafe int _Lambda$__0()
{
int num = ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).Create($VB$Local_caseContextArtifactID, $VB$Local_parentArtifactID, GetExportFriendlyFolderName($VB$Local_name));
if (num > 0) {
ref int folderCreationCount;
*(ref folderCreationCount = ref $VB$Me._folderCreationCount) = checked(folderCreationCount + 1);
}
return num;
}
}
[CompilerGenerated]
internal sealed class _Closure$__8-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_rootFolderID;
public FolderManager $VB$Me;
internal bool _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).Exists($VB$Local_caseContextArtifactID, $VB$Local_rootFolderID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__9-0
{
public int $VB$Local_caseContextArtifactID;
public FolderManager $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FolderManagerBase.FolderManager)$VB$Me).RetrieveIntitialChunk($VB$Local_caseContextArtifactID);
}
}
private int _folderCreationCount;
public int CreationCount => _folderCreationCount;
public FolderManager(ICredentials credentials, CookieContainer cookieContainer)
{
_folderCreationCount = 0;
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 static string GetExportFriendlyFolderName(string input)
{
return Regex.Replace(input, "[\\*\\\\\\/\\:\\?\\<\\>\\\"\\|\\$]+", " ").Trim();
}
public new DataSet RetrieveAllByCaseID(int caseContextArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveAllByCaseID(caseContextArtifactID), true);
}
public new Folder Read(int caseContextArtifactID, int folderArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.Read(caseContextArtifactID, folderArtifactID), true);
}
Folder IFolderManager.Read(int caseContextArtifactID, int folderArtifactID)
{
return this.Read(caseContextArtifactID, folderArtifactID);
}
public new int ReadID(int caseContextArtifactID, int parentArtifactID, string name)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.ReadID(caseContextArtifactID, parentArtifactID, name), true);
}
int IHierarchicArtifactManager.Read(int caseContextArtifactID, int parentArtifactID, string name)
{
return this.ReadID(caseContextArtifactID, parentArtifactID, name);
}
int IFolderManager.ReadID(int caseContextArtifactID, int parentArtifactID, string name)
{
return this.ReadID(caseContextArtifactID, parentArtifactID, name);
}
public new unsafe int Create(int caseContextArtifactID, int parentArtifactID, string name)
{
return WebServiceExtensions.RetryOnReLoginException(this, delegate {
int num = base.Create(caseContextArtifactID, parentArtifactID, GetExportFriendlyFolderName(name));
if (num > 0) {
ref int folderCreationCount;
*(ref folderCreationCount = ref _folderCreationCount) = checked(folderCreationCount + 1);
}
return num;
}, true);
}
int IHierarchicArtifactManager.Create(int caseContextArtifactID, int parentArtifactID, string name)
{
return this.Create(caseContextArtifactID, parentArtifactID, name);
}
int IFolderManager.Create(int caseContextArtifactID, int parentArtifactID, string name)
{
return this.Create(caseContextArtifactID, parentArtifactID, name);
}
public new bool Exists(int caseContextArtifactID, int rootFolderID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.Exists(caseContextArtifactID, rootFolderID), true);
}
bool IFolderManager.Exists(int caseContextArtifactID, int rootFolderID)
{
return this.Exists(caseContextArtifactID, rootFolderID);
}
public new DataSet RetrieveIntitialChunk(int caseContextArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveIntitialChunk(caseContextArtifactID), true);
}
DataSet IFolderManager.RetrieveIntitialChunk(int caseContextArtifactID)
{
return this.RetrieveIntitialChunk(caseContextArtifactID);
}
public new DataSet RetrieveNextChunk(int caseContextArtifactID, int lastFolderID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveNextChunk(caseContextArtifactID, lastFolderID), true);
}
DataSet IFolderManager.RetrieveNextChunk(int caseContextArtifactID, int lastFolderID)
{
return this.RetrieveNextChunk(caseContextArtifactID, lastFolderID);
}
public DataSet RetrieveArtifacts(int caseContextArtifactID, int rootArtifactID)
{
return RetrieveFolderAndDescendants(caseContextArtifactID, rootArtifactID);
}
DataSet IHierarchicArtifactManager.RetrieveArtifacts(int caseContextArtifactID, int rootArtifactID)
{
return this.RetrieveArtifacts(caseContextArtifactID, rootArtifactID);
}
DataSet IFolderManager.RetrieveArtifacts(int caseContextArtifactID, int rootArtifactID)
{
return this.RetrieveArtifacts(caseContextArtifactID, rootArtifactID);
}
}
}