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

FieldProviderCache

using kCura.EDDS.WebAPI.DocumentManagerBase; using kCura.WinEDDS.Service; using System; using System.Net; using System.Runtime.CompilerServices; namespace kCura.WinEDDS { public class FieldProviderCache : IFieldProviderCache { [Serializable] [CompilerGenerated] internal sealed class _Closure$__ { public static readonly _Closure$__ $I; public static Func<Field, bool> $I8-0; public static Func<Field, bool> $I10-0; static _Closure$__() { $I = new _Closure$__(); } internal bool _Lambda$__8-0(Field field) { return true; } internal bool _Lambda$__10-0(Field field) { return field.FieldTypeID != 9; } } private DocumentFieldCollection _fields; private DocumentFieldCollection _fieldsNonFile; private readonly CookieContainer _cookieContainer; private readonly NetworkCredential _credential; private readonly Func<string> _correlationIdFunc; public DocumentFieldCollection CurrentFields { get { if (_fields == null || refresh) _fields = GetFields(artifactTypeId, workspaceId, (_Closure$__.$I8-0 != null) ? _Closure$__.$I8-0 : (_Closure$__.$I8-0 = ((Field field) => true))); return _fields; } } public DocumentFieldCollection CurrentNonFileFields { get { if (_fieldsNonFile == null || refresh) _fieldsNonFile = GetFields(artifactTypeId, workspaceId, (_Closure$__.$I10-0 != null) ? _Closure$__.$I10-0 : (_Closure$__.$I10-0 = ((Field field) => field.FieldTypeID != 9))); return _fieldsNonFile; } } public FieldProviderCache(NetworkCredential credential, CookieContainer cookieContainer, Func<string> correlationIdFunc) { _cookieContainer = cookieContainer; _credential = credential; _correlationIdFunc = correlationIdFunc; } public void ResetCache() { _fields = null; _fieldsNonFile = null; } void IFieldProviderCache.ResetCache() { this.ResetCache(); } private DocumentFieldCollection GetFields(int artifactTypeId, int workspaceId, Func<Field, bool> filterFun) { DocumentFieldCollection documentFieldCollection = new DocumentFieldCollection(); Field[] array = ManagerFactory.CreateFieldQuery(_credential, _cookieContainer, _correlationIdFunc).RetrieveAllAsArray(workspaceId, artifactTypeId, false); checked { int num = array.Length - 1; for (int i = 0; i <= num; i++) { Field field = array[i]; if (filterFun(array[i])) documentFieldCollection.Add(new DocumentField(field.DisplayName, field.ArtifactID, field.FieldTypeID, field.FieldCategoryID, field.CodeTypeID, field.MaxLength, field.AssociativeArtifactTypeID, field.UseUnicodeEncoding, field.ImportBehavior, field.EnableDataGrid)); field = null; } return documentFieldCollection; } } } }