<PackageReference Include="Relativity.Transfer.Client" Version="7.0.11" />

TransferClientHelper

public static class TransferClientHelper
using Relativity.Transfer.Resources; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Relativity.Transfer { public static class TransferClientHelper { public static IList<ITransferClientMetadata> SearchAvailableClients(ITransferLog log) { try { DirectoryCatalog2 directoryCatalog = new DirectoryCatalog2(log); try { using (TransferClientPluginService transferClientPluginService = new TransferClientPluginService(directoryCatalog, log)) return transferClientPluginService.SearchMetadata().ToList(); } finally { ((IDisposable)directoryCatalog)?.Dispose(); } } catch (TransferException) { throw; } catch (Exception innerException) { string message = string.Format(CultureInfo.CurrentCulture, ClientStrings.TransferClientMetadataMefExceptionMessage, GlobalSettings.Instance.PluginDirectory); throw new TransferException(message, innerException); } } public static IList<ConfigurationDocItem> SearchConfigurationDocs(ITransferLog log) { try { List<ConfigurationDocItem> list = new List<ConfigurationDocItem>(); DirectoryCatalog2 directoryCatalog = new DirectoryCatalog2(log); try { using (TransferClientPluginService transferClientPluginService = new TransferClientPluginService(directoryCatalog, log)) { IEnumerable<IConfigurationDetail> enumerable = transferClientPluginService.SearchConfigurationDetails(); foreach (IConfigurationDetail item in enumerable) { IEnumerable<ConfigurationDocItem> docs = item.GetDocs(); list.AddRange(docs); } List<ConfigurationDocItem> list2 = (from item in list group item by item.Key into y select y.First()).ToList(); list2.Sort((ConfigurationDocItem item1, ConfigurationDocItem item2) => string.Compare(item1.Key, item2.Key, StringComparison.Ordinal)); return list2; } } finally { ((IDisposable)directoryCatalog)?.Dispose(); } } catch (Exception innerException) { string message = string.Format(CultureInfo.CurrentCulture, ClientStrings.ClientConfigurationDocsMefExceptionMessage, GlobalSettings.Instance.PluginDirectory); throw new TransferException(message, innerException); } } } }