FieldQuery
using kCura.EDDS.WebAPI.DocumentManagerBase;
using kCura.EDDS.WebAPI.FieldQueryBase;
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.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Net;
using System.Runtime.CompilerServices;
namespace kCura.WinEDDS.Service
{
public class FieldQuery : kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery, IFieldQuery
{
[CompilerGenerated]
internal sealed class _Closure$__5-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_fieldCategoryID;
public FieldQuery $VB$Me;
internal string _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery)$VB$Me).RetrieveDisplayFieldNameByFieldCategoryID($VB$Local_caseContextArtifactID, $VB$Local_fieldCategoryID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__6-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_artifactTypeID;
public FieldQuery $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery)$VB$Me).RetrieveAllMappable($VB$Local_caseContextArtifactID, $VB$Local_artifactTypeID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__7-0
{
public int $VB$Local_caseContextArtifactID;
public FieldQuery $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery)$VB$Me).RetrieveAll($VB$Local_caseContextArtifactID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__8-0
{
public int $VB$Local_caseContextArtifactID;
public FieldQuery $VB$Me;
internal DataSet _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery)$VB$Me).RetrievePotentialBeginBatesFields($VB$Local_caseContextArtifactID);
}
}
[CompilerGenerated]
internal sealed class _Closure$__9-0
{
public int $VB$Local_caseContextArtifactID;
public int $VB$Local_fieldArtifactID;
public FieldQuery $VB$Me;
internal bool _Lambda$__0()
{
return ((kCura.EDDS.WebAPI.FieldQueryBase.FieldQuery)$VB$Me).IsFieldIndexed($VB$Local_caseContextArtifactID, $VB$Local_fieldArtifactID);
}
}
public FieldQuery(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 Field[] RetrieveAllAsArray(int caseContextArtifactID, int artifactTypeID, bool includeUnmappable = false)
{
SqlDataView sqlDataView = new SqlDataView(RetrieveAllMappable(caseContextArtifactID, artifactTypeID));
ArrayList arrayList = new ArrayList();
StringCollection stringCollection = new StringCollection();
ArrayList arrayList2 = new ArrayList();
if (!includeUnmappable)
arrayList2.AddRange(new global::Relativity.DataExchange.Service.FieldCategory[8] {
global::Relativity.DataExchange.Service.FieldCategory.Reflected,
global::Relativity.DataExchange.Service.FieldCategory.Batch,
global::Relativity.DataExchange.Service.FieldCategory.MultiReflected,
global::Relativity.DataExchange.Service.FieldCategory.FileInfo,
global::Relativity.DataExchange.Service.FieldCategory.AutoCreate,
global::Relativity.DataExchange.Service.FieldCategory.FileSize,
global::Relativity.DataExchange.Service.FieldCategory.ProductionMarker,
global::Relativity.DataExchange.Service.FieldCategory.MarkupSetMarker
});
int num = checked(sqlDataView.Count - 1);
for (int i = 0; i <= num; i = checked(i + 1)) {
Field field = new Field();
if (!arrayList2.Contains((global::Relativity.DataExchange.Service.FieldCategory)Conversions.ToInteger(sqlDataView[i]["FieldCategoryID"])) && !stringCollection.Contains(sqlDataView[i]["DisplayName"].ToString()) && (Conversions.ToInteger(sqlDataView[i]["FieldCategoryID"]) != 1 || artifactTypeID == 10)) {
string text = sqlDataView[i]["ArtifactGuids"].ToString();
List<Guid> list = new List<Guid>();
if (!string.IsNullOrEmpty(text)) {
string[] array = text.Split(new char[1] {
';'
});
foreach (string text2 in array) {
list.Add(new Guid(text2.Trim()));
}
}
Field field2 = field;
field2.ArtifactID = Conversions.ToInteger(sqlDataView[i]["ArtifactID"]);
field2.ArtifactViewFieldID = Conversions.ToInteger(sqlDataView[i]["ArtifactViewFieldID"]);
field2.CodeTypeID = NullableTypesHelper.DBNullConvertToNullable<int>(RuntimeHelpers.GetObjectValue(sqlDataView[i]["CodeTypeID"]));
field2.DisplayName = Conversions.ToString(sqlDataView[i]["DisplayName"]);
field2.FieldCategoryID = Conversions.ToInteger(sqlDataView[i]["FieldCategoryID"]);
field2.FieldCategory = (kCura.EDDS.WebAPI.DocumentManagerBase.FieldCategory)Conversions.ToInteger(sqlDataView[i]["FieldCategoryID"]);
field2.FieldType = (kCura.EDDS.WebAPI.DocumentManagerBase.FieldType)Conversions.ToInteger(Enum.Parse(typeof(kCura.EDDS.WebAPI.DocumentManagerBase.FieldType), ((Enum)Conversions.ToInteger(sqlDataView[i]["FieldTypeID"])).ToString()));
field2.FieldTypeID = Conversions.ToInteger(sqlDataView[i]["FieldTypeID"]);
field2.IsEditable = Conversions.ToBoolean(sqlDataView[i]["IsEditable"]);
field2.IsRequired = Conversions.ToBoolean(sqlDataView[i]["IsRequired"]);
field2.MaxLength = NullableTypesHelper.DBNullConvertToNullable<int>(RuntimeHelpers.GetObjectValue(sqlDataView[i]["FieldLength"]));
field2.IsRemovable = Conversions.ToBoolean(sqlDataView[i]["IsRemovable"]);
field2.IsVisible = Conversions.ToBoolean(sqlDataView[i]["IsVisible"]);
field2.UseUnicodeEncoding = Conversions.ToBoolean(sqlDataView[i]["UseUnicodeEncoding"]);
field2.AllowHtml = Conversions.ToBoolean(sqlDataView[i]["AllowHTML"]);
field2.AssociativeArtifactTypeID = NullableTypesHelper.DBNullConvertToNullable<int>(RuntimeHelpers.GetObjectValue(sqlDataView[i]["AssociativeArtifactTypeID"]));
field2.ImportBehavior = ConvertImportBehaviorEnum(NullableTypesHelper.DBNullConvertToNullable<int>(RuntimeHelpers.GetObjectValue(sqlDataView[i]["ImportBehavior"])));
field2.EnableDataGrid = Conversions.ToBoolean(sqlDataView[i]["EnableDataGrid"]);
field2.Guids = list.ToArray();
if (field.FieldType == kCura.EDDS.WebAPI.DocumentManagerBase.FieldType.Object || field.FieldType == kCura.EDDS.WebAPI.DocumentManagerBase.FieldType.Objects || field.FieldCategory == kCura.EDDS.WebAPI.DocumentManagerBase.FieldCategory.MultiReflected || field.FieldCategory == kCura.EDDS.WebAPI.DocumentManagerBase.FieldCategory.Reflected) {
if (field.AssociativeArtifactTypeID.HasValue && ArtifactTypeHelper.IsDynamic(field.AssociativeArtifactTypeID.Value))
arrayList.Add(field);
} else
arrayList.Add(field);
}
}
return (Field[])arrayList.ToArray(typeof(Field));
}
Field[] IFieldQuery.RetrieveAllAsArray(int caseContextArtifactID, int artifactTypeID, bool includeUnmappable = false)
{
return this.RetrieveAllAsArray(caseContextArtifactID, artifactTypeID, includeUnmappable);
}
private kCura.EDDS.WebAPI.DocumentManagerBase.ImportBehaviorChoice? ConvertImportBehaviorEnum(int? input)
{
kCura.EDDS.WebAPI.DocumentManagerBase.ImportBehaviorChoice? result;
if (!input.HasValue)
result = null;
else {
global::Relativity.DataExchange.Service.ImportBehaviorChoice value = (global::Relativity.DataExchange.Service.ImportBehaviorChoice)input.Value;
result = (kCura.EDDS.WebAPI.DocumentManagerBase.ImportBehaviorChoice)Conversions.ToInteger(Enum.Parse(typeof(kCura.EDDS.WebAPI.DocumentManagerBase.ImportBehaviorChoice), value.ToString()));
}
return result;
}
public DocumentFieldCollection RetrieveAllAsDocumentFieldCollection(int caseContextArtifactID, int artifactTypeID)
{
DocumentFieldCollection documentFieldCollection = new DocumentFieldCollection();
Field[] array = RetrieveAllAsArray(caseContextArtifactID, artifactTypeID, false);
foreach (Field field in array) {
documentFieldCollection.Add(new DocumentField(field.DisplayName, field.ArtifactID, field.FieldTypeID, field.FieldCategoryID, field.CodeTypeID, field.MaxLength, field.AssociativeArtifactTypeID, field.UseUnicodeEncoding, field.ImportBehavior, field.Guids, field.EnableDataGrid));
Field field = null;
}
return documentFieldCollection;
}
DocumentFieldCollection IFieldQuery.RetrieveAllAsDocumentFieldCollection(int caseContextArtifactID, int artifactTypeID)
{
return this.RetrieveAllAsDocumentFieldCollection(caseContextArtifactID, artifactTypeID);
}
public new string RetrieveDisplayFieldNameByFieldCategoryID(int caseContextArtifactID, int fieldCategoryID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveDisplayFieldNameByFieldCategoryID(caseContextArtifactID, fieldCategoryID), true);
}
public new DataSet RetrieveAllMappable(int caseContextArtifactID, int artifactTypeID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveAllMappable(caseContextArtifactID, artifactTypeID), true);
}
DataSet IFieldQuery.RetrieveAllMappable(int caseContextArtifactID, int artifactTypeID)
{
return this.RetrieveAllMappable(caseContextArtifactID, artifactTypeID);
}
public new DataSet RetrieveAll(int caseContextArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrieveAll(caseContextArtifactID), true);
}
public new DataSet RetrievePotentialBeginBatesFields(int caseContextArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.RetrievePotentialBeginBatesFields(caseContextArtifactID), true);
}
DataSet IFieldQuery.RetrievePotentialBeginBatesFields(int caseContextArtifactID)
{
return this.RetrievePotentialBeginBatesFields(caseContextArtifactID);
}
public new bool IsFieldIndexed(int caseContextArtifactID, int fieldArtifactID)
{
return WebServiceExtensions.RetryOnReLoginException(this, () => base.IsFieldIndexed(caseContextArtifactID, fieldArtifactID), true);
}
bool IFieldQuery.IsFieldIndexed(int caseContextArtifactID, int fieldArtifactID)
{
return this.IsFieldIndexed(caseContextArtifactID, fieldArtifactID);
}
}
}