• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Estrelica
    • Core
    • CoreConfig
    • CoreConfig.Settings
  • Estrelica.Archer.AccessControl
    • AccessControlEdit
    • AccountStatus
    • ContactSubType
    • ContactType
    • IArcherGroup
    • IArcherGroupEdit
    • IArcherRole
    • IArcherRoleEdit
    • IArcherUser
    • IArcherUserEdit
    • ISecurityParameter
    • IUserContact
    • IUserProvider
    • UserType
  • Estrelica.Archer.Content
    • ArcherContentExtensions
    • ContentFilterHelper
    • ContentReportOptions
    • ContentSearchOptions
    • ContentSource
    • ContentType
    • CurrentDateOperator
    • DatafeedHistoryStatus
    • DatafeedStatus
    • DatafeedType
    • DateOffsetOperator
    • DateValueOperator
    • DisplayFieldExtensions
    • EqualityOperator
    • FieldHistoryAuditType
    • HistoryAuditType
    • IAdvancedWorkflowAudit
    • IArcherContent
    • IArcherContentAccess
    • IArcherContentEdit
    • IArcherContentIdQuery
    • IArcherDateFieldQuery
    • IArcherDocument
    • IArcherMembershipQuery<T>
    • IArcherNumericFieldQuery
    • IArcherRecord
    • IArcherRecordQuery
    • IArcherReport
    • IArcherTextFieldQuery
    • IArcherUserGroupFieldQuery
    • IArcherValuesListQuery
    • IContentHistory
    • IContentInformation
    • IContentReport
    • IContentReportOptions
    • IContentUpdateInformation
    • ICrossReferencedRecordsSelectionEdit
    • IDatafeed
    • IDatafeedHistory
    • IDatafeedHistoryMessage
    • IDatafeedRecordCount
    • IDateValueEdit
    • IDisplayField
    • IDocumentSelectionEdit
    • IEditableField
    • IExternalLink
    • IExternalLinkEdit
    • IExternalLinksSelectionEdit
    • IFieldAudit
    • IFieldHistory
    • IFieldHistoryEx
    • IFieldQuery
    • IFieldValueEdit<T>
    • IHistoryAudit
    • INumericValueEdit
    • IObjectValue
    • IReferencedRecordsSelection
    • IReferencedRecordsSelectionEdit
    • ISearchDisplayFieldOptions
    • ISearchOptions
    • ISignatureAudit
    • IStatisticsReport
    • ISubEditableField
    • ISystemUpdateInformation
    • ITextValueEdit
    • IUserGroupListSelection
    • IUserGroupListSelectionEdit
    • IValuesListBaseSelection
    • IValuesListBaseSelectionEdit
    • IValuesListSelection
    • IValuesListSelectionEdit
    • IValuesListSingleSelection
    • IValuesListSingleSelectionEdit
    • IWorkflowAction
    • IWorkflowNode
    • LastUpdatedPreference
    • NumericRangeOperator
    • RecordCountType
    • RecordStatus
    • ReportSource
    • SortField
    • SortType
    • ValueOperator
    • ValuesOperator
    • WorkflowAuditActionType
  • Estrelica.Archer.Entity
    • ArcherEntityExtensions
    • ASOStatus
    • EntityType
    • IArcherAliasableEntity
    • IArcherAliasedEntity
    • IArcherASOEntity
    • IArcherASONamedEntity
    • IArcherBase
    • IArcherContentUpdateInfoEntity
    • IArcherDescribableEntity
    • IArcherDescribedEntity
    • IArcherEntity
    • IArcherEntityBase
    • IArcherGuidEntity
    • IArcherNameableEntity
    • IArcherNamedEntity
    • IArcherUpdateInfoEntity
    • IEditableArcherEntity
    • IUpdateInformation
    • SourceAttribute
    • UpstreamPropertyAttribute
  • Estrelica.Archer.Events
    • EventActionLayoutType
    • EventActionType
    • EventDateActionType
    • EventItemActionType
    • EventSectionActionType
    • IEventAction
    • IEventRule
    • ISetDateOption
  • Estrelica.Archer.Layouts
    • ILayout
    • ILayoutEntity
    • ILayoutItem
    • ILayoutSection
    • ILayoutTab
    • LayoutItemType
    • LayoutMemberType
    • LayoutSectionType
    • LayoutTabType
  • Estrelica.Archer.Metadata
    • ArcherMetadataExtensions
    • FilterConditionType
    • FilterCriteriaOperatorType
    • IArcherApplication
    • IArcherLevel
    • IArcherModule
    • IArcherQuestionnaire
    • IArcherSolution
    • IArcherSubForm
    • IArcherValuesList
    • IArcherValuesListValue
    • IFilterCondition
    • IFilterCriteria
    • ILevelFilter
    • ILevelFilterValue
    • IModuleOwner
    • IModuleOwnerGroup
    • IModuleOwnerUser
    • IModuleReference
    • INumericRange
    • INumericRangeValue
    • IQuestionnaireRule
    • ModuleClass
    • ModuleStatus
    • ModuleType
    • QuestionnaireRuleType
    • ReportType
    • Timezone
    • ValuesListType
    • ValueSortType
  • Estrelica.Archer.Metadata.Field
    • ArcherFieldExtensions
    • DefaultDateType
    • ExternalLinkProtocol
    • FieldEncryptionState
    • FieldType
    • IArcherField
    • IAssetResponsibilitiesField
    • IAttachmentField
    • IAvailableUserGroupSelections
    • IBaseDateField
    • ICalculatedValuesListField
    • IContentAccessHistoryField
    • ICrossApplicationStatusTrackingField
    • ICrossModuleStatusTrackingField
    • ICrossReferenceField
    • IDateField
    • IDiscussionField
    • IDocumentField
    • IExternalLinksField
    • IFirstPublishedField
    • IGroupPermission
    • IHistoryLogField
    • IImageField
    • IIPAddressField
    • ILastUpdatedField
    • IMatrixField
    • ImplementsAPIKey
    • ImplementsFieldTypeAttribute
    • IMultipleReferenceDisplayField
    • INumericField
    • IPermissionInheritance
    • IQuestionnaireReferenceField
    • IRecordStatusField
    • IReferenceField
    • IRelatedRecordsField
    • IRiskAssessmentField
    • ISchedulerField
    • ISubformField
    • ITechnologiesListField
    • ITechnologyVersionsListField
    • ITextField
    • ITrackingIDField
    • IUserGroupListField
    • IUserPermission
    • IValuesListField
    • IVotingField
    • SystemFieldType
    • UserGroupType
    • VotingType
  • Estrelica.Archer.Metadata.Field.Properties
    • DisplayControl
    • FieldLayoutFormat
    • IAdvancedDisplayOption
    • IAdvancedDisplayProperty
    • IAllowLookupProperty
    • IAllowSortingProperty
    • IColumnCountProperty
    • IDisplayControlProperty
    • IDisplayInHeaderProperty
    • IEncryptionStateProperty
    • IFieldValidationTypeProperty
    • IHeightWidthProperty
    • IIncludeTimeInformationProperty
    • IIncludeUserInformationProperty
    • IIsAuditEnabledProperty
    • IIsBulkCreateEnabledProperty
    • IIsBulkUpdateEnabledProperty
    • IIsCalculatedProperty
    • IIsEditableGridDisplayProperty
    • IIsEditableInSearchProperty
    • IIsEncryptedProperty
    • IIsFindEnabledProperty
    • IIsKeyProperty
    • IIsQuestionProperty
    • IIsRequiredProperty
    • IIsRestrictedToLevelProperty
    • IIsSupressedProperty
    • IIsTrendingEnabledProperty
    • IIsUniqueProperty
    • ILinkProperty
    • ILookupReportProperty
    • IMaxAttachmentsAllowedProperty
    • IMaxFileSizeProperty
    • IMaximumSelectionProperty
    • IMaxIntValueProperty
    • IMaxLongValueProperty
    • IMinAttachmentsAllowedProperty
    • IMinimumSelectionProperty
    • IMinIntValueProperty
    • IMinLongValueProperty
    • IMinMaxSelectionProperty
    • IPrefixProperty
    • ISuffixProperty
    • ITrendingDurationProperty
    • ITrendingDurationTypeProperty
    • MatrixAxis
    • NegativeDisplayType
  • Estrelica.Archer.Metadata.Properties
    • IIsDeprecatedProperty
    • IIsDirectToEditEnabledProperty
    • IIsMobileEnabledProperty
    • IIsNotificationProperty
    • IIsTaskManagementEnabledProperty
    • IIsWaveEnabledProperty
    • IKeepLicensedProperty
    • ISearchViewProperty
  • Estrelica.Archer.Utility
    • APIExceptionExtensions
    • APIPreference
    • APISource
    • ArcherAPIException
    • ArcherEntitySerializer
    • BaseDataWrapper<K>
    • CachedResolver
    • DictionaryDataWrapper<K>
    • DomainFormat
    • EditUtilities
    • ExtensionsUnavailableException
    • FilterCriteriaHelper
    • IAccessResolver
    • IAPIFacade
    • IArcherRestAPI
    • IArcherSoapAPI
    • IArcherUndocumentedAPI
    • ICastleHillExtendedAPI
    • IContentResolver
    • ILayoutResolver
    • IMetadataResolver
    • IReportResolver
    • IValueAccessor
    • ObjectDataWrapper<T, K>
    • ObjectKeyAttribute
    • ValuesListChangeEvent
    • ValuesListChangeEventArgs
  • Estrelica.Interfaces
    • IArcherAuthProvider
    • ICacheProvider
    • IClearable
    • IDatabaseAuthProvider
    • IEditable
    • IEditable<V>
    • IEditableCollection<V>
    • IEditableEnumerable<V>
    • IEditableFieldSelection<V>
    • IEditableInterface<I>
    • IEntityResolver
    • IExtendedAPIAuthProvider
    • IHttpClientAccessor
    • ILogCleanup
    • ILogSubscriber
    • InvalidateEntity<K>
    • InvalidateEntityEventArgs<K>
    • IRecordAccess
    • IRecordAccess<T>
    • IResolverProvider
    • ISessionProvider
    • ISystemUpdateable
    • ITrafficCounter
    • LogLevel
  • Estrelica.Logging
    • BaseLogger
    • ConsoleLogger
    • FileLogger
    • FileLogger.TimestampFormat
    • Logger
    • TraceLogger
  • Estrelica.Utility
    • Arguments
    • BaseRecordAccess
    • DataReaderExtensions
    • DateTimeExtensions
    • Debouncer
    • DebugLog
    • DeferEnumerable<T>
    • DeferValue<V>
    • DictionaryExtensions
    • EnumHelper
    • ExceptionExtensions
    • GuidUtility
    • HandledException
    • HashSetExtensions
    • ICacheHandler
    • ICollectionExtensions
    • IDeferrable
    • IDeferredValue
    • IEnumerableExtensions
    • IgnoreDefaultValuesDictionary<K, V>
    • JsonDictionary<V>
    • OperationExtensions
    • Resource
    • SqlConnectionExtensions
    • SqlUtilities
    • StreamExtensions
    • StringExtensions
    • TableMapper
    • TimeoutDictionary<K, V>
    • TypeExtensions
    • XElementExtensions

Interface ICastleHillExtendedAPI

ICastleHillExtendedAPI (implemented by core.APIFacade) provides access to all of the "extended" methods not available through the standard Archer APIs.
Most methods on this interface include a boolean throwExceptionIfUnavailable parameter which when true (the default) will cause an ExtensionsUnavailable to be thrown if extensions are not available for the target Archer instance. Alternately, when this parameter is explicitly set to false, no exception will be raised and instead an empty enumerable (for IEnumerable<T> result types) or a null (for all other reference types) will be returned if extensions are not available. The resolver classes (e.g. IMetadataResolver, IReportResolver, etc.) will always pass throwExceptionIfUnavailable: false when they call these methods, so in those cases, a null or empty IEnumerable will be returned in the absence of extensions. For example, core.Metadata.AllSolutions will return an IEnumerable<IArcherSolution> containing all solutions in the target Archer instance if extensions are available, but will simply return an empty IEnumerable<IArcherSolution> (having a Count() of 0) if extensions are not available. The two methods lacking this parameter (GetArcherApplicationDetails() and GetAllDatafeeds()) behave differently, falling back to more restricted API methods that are available from a standard Archer instance (see their comments below).

Namespace: Estrelica.Archer.Utility
Assembly: Estrelica.Archer.Utility.dll
Syntax
[StayPublic]
[DoNotObfuscateType]
public interface ICastleHillExtendedAPI

Properties

ExtendedAPIVersion

If the CastleHill Extended API is available in the connected Archer environment, returns version information about the Extended API. Otherwise null.

Declaration
IDictionary<string, dynamic> ExtendedAPIVersion { get; }
Property Value
IDictionary<string, dynamic>

Methods

GetAllDatafeeds()

Returns all datafeeds available in the target Archer instance. If extensions are unavailable this will only include standard datafeeds (DatafeedType = StandardService) with basic info (Name, Guid and Status). If extensions are available, this will include imports (DatafeedType = DataImport) and much more information about each datafeed (e.g. integer Id, ConfigXml, KeyFields, MappedFields, NextScheduledParent, etc. -- see the [IDatafeed](xref: Estrelica.Content.IDatafeed) interface for details).

Declaration
IEnumerable<IDictionary<string, dynamic>> GetAllDatafeeds()
Returns
IEnumerable<IDictionary<string, dynamic>>

GetAllSolutions(bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetAllSolutions(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetAllSubformIds(bool)

Declaration
IEnumerable<int> GetAllSubformIds(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
IEnumerable<int>

GetArcherApplicationDetails()

Returns installation details and version information about the current instance of Archer. If extensions are unavailable, the returned entity(ies) will include only version information.

Declaration
IEnumerable<IDictionary<string, dynamic>> GetArcherApplicationDetails()
Returns
IEnumerable<IDictionary<string, dynamic>>

GetCalcFormulaForField(int, bool)

Declaration
string GetCalcFormulaForField(int fieldId, bool throwExceptionIfUnavailable = true)
Parameters
int fieldId

bool throwExceptionIfUnavailable

Returns
string

GetCalcFormulasForLevel(int, bool)

Declaration
IDictionary<int, string> GetCalcFormulasForLevel(int levelId, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

bool throwExceptionIfUnavailable

Returns
IDictionary<int, string>

GetContentInfoForLevel(int, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentInfoForLevel(int levelId, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetContentInfoForModule(int, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentInfoForModule(int moduleId, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int moduleId

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetContentStats(DateTime, IDictionary<int, int>, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentStats(DateTime asOfLastUpdateUTC, IDictionary<int, int> priorModuleCounts = null, int pageSize = 1000, bool throwExceptionIfUnavailable = true)
Parameters
DateTime asOfLastUpdateUTC

IDictionary<int, int> priorModuleCounts

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetDatafeedsForLevel(int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetDatafeedsForLevel(int levelId, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetEmptyValuesListIds(bool)

Declaration
HashSet<int> GetEmptyValuesListIds(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
HashSet<int>

GetExtendedFieldInfoForLevel(int, bool)

Declaration
IDictionary<int, IDictionary<string, dynamic>> GetExtendedFieldInfoForLevel(int levelId, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

bool throwExceptionIfUnavailable

Returns
IDictionary<int, IDictionary<string, dynamic>>

GetFieldAuditInfoForLevel(int, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetFieldAuditInfoForLevel(int levelId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetFilterCriteria(int, bool, bool)

Declaration
IDictionary<string, dynamic> GetFilterCriteria(int filterCriteriaId, bool returnGuids = false, bool throwExceptionIfUnavailable = true)
Parameters
int filterCriteriaId

bool returnGuids

bool throwExceptionIfUnavailable

Returns
IDictionary<string, dynamic>

GetFilterCriteriaXml(int, bool, bool)

Declaration
string GetFilterCriteriaXml(int filterCriteriaId, bool returnGuids = false, bool throwExceptionIfUnavailable = true)
Parameters
int filterCriteriaId

bool returnGuids

bool throwExceptionIfUnavailable

Returns
string

GetGuidIdMappings(EntityType, bool)

Returns a dictionary of Guid to integer Id mappings for all Archer entities of the specified EntityType. This method requires extensions.

Declaration
IDictionary<Guid, int> GetGuidIdMappings(EntityType entityType, bool throwExceptionIfUnavailable = true)
Parameters
EntityType entityType

The Estrelica.Archer.Entity.EntityType for which the Id/Guid mappings are to be returned

bool throwExceptionIfUnavailable

If no extensions are available, an exception will be thrown if this is true. If false, returns an empty dictionary.

Returns
IDictionary<Guid, int>

IDictionary<Guid,int> where the key is the Guid of the entity and the value is the entity's integer id.

Remarks

This method will return an empty dictionary if 1. Extensions are not available and "throwExceptionIfUnavailable" is false, 2. The EntityType in question does not have a Guid property (e.g. EntityType.User or EntityType.Content), 3. No records of the given EntityType exist in the Archer instance database.

GetIdGuidMappings(EntityType, bool)

Returns a dictionary of integer Id to Guid mappings for all Archer entities of the specified EntityType. This method requires extensions.

Declaration
IDictionary<int, Guid> GetIdGuidMappings(EntityType entityType, bool throwExceptionIfUnavailable = true)
Parameters
EntityType entityType

The Estrelica.Archer.Entity.EntityType for which the Id/Guid mappings are to be returned

bool throwExceptionIfUnavailable

If no extensions are available, an exception will be thrown if this is true. If false, returns an empty dictionary.

Returns
IDictionary<int, Guid>

IDictionary<int,Guid> where the key is the integer Id of the entity and the value is the entity's Guid.

Remarks

This method will return an empty dictionary if 1. Extensions are not available and "throwExceptionIfUnavailable" is false, 2. The EntityType in question does not have a Guid property (e.g. EntityType.User or EntityType.Content), 3. No records of the given EntityType exist in the Archer instance database.

GetLevelFiltersForLevel(int, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetLevelFiltersForLevel(int levelId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetModuleOwners(int, int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetModuleOwners(int moduleId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int moduleId

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetModulesForSolution(int, bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetModulesForSolution(int solutionId, bool throwExceptionIfUnavailable = true)
Parameters
int solutionId

bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetNumericRanges(bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetNumericRanges(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetReportDetails(int, bool)

Declaration
IDictionary<string, dynamic> GetReportDetails(int reportId, bool throwExceptionIfUnavailable = true)
Parameters
int reportId

bool throwExceptionIfUnavailable

Returns
IDictionary<string, dynamic>

GetReportSearchOptions(int, bool, bool)

Declaration
string GetReportSearchOptions(int reportId, bool tryArcherFirst = false, bool throwExceptionIfUnavailable = true)
Parameters
int reportId

bool tryArcherFirst

bool throwExceptionIfUnavailable

Returns
string

GetSolution(int, bool)

Declaration
IDictionary<string, dynamic> GetSolution(int solutionId, bool throwExceptionIfUnavailable = true)
Parameters
int solutionId

bool throwExceptionIfUnavailable

Returns
IDictionary<string, dynamic>

GetUpdatedContentIdsByLevel(int, DateTime?, DateTime?, bool, int, bool)

Declaration
IEnumerable<int> GetUpdatedContentIdsByLevel(int levelId, DateTime? startDate, DateTime? endDate, bool useSystemLastUpdated = true, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int levelId

DateTime? startDate

DateTime? endDate

bool useSystemLastUpdated

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<int>

GetUpdatedContentIdsByModule(int, DateTime?, DateTime?, bool, int, bool)

Declaration
IEnumerable<int> GetUpdatedContentIdsByModule(int moduleId, DateTime? startDate, DateTime? endDate, bool useSystemLastUpdated = true, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int moduleId

DateTime? startDate

DateTime? endDate

bool useSystemLastUpdated

int pageSize

bool throwExceptionIfUnavailable

Returns
IEnumerable<int>

GetUserDomains(bool)

Declaration
IDictionary<int, string> GetUserDomains(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
IDictionary<int, string>

GetUsernamesAndDomains(bool)

Declaration
IEnumerable<IDictionary<string, dynamic>> GetUsernamesAndDomains(bool throwExceptionIfUnavailable = true)
Parameters
bool throwExceptionIfUnavailable

Returns
IEnumerable<IDictionary<string, dynamic>>

GetUsernamesByUserId(bool, DomainFormat)

Declaration
IDictionary<int, string> GetUsernamesByUserId(bool throwExceptionIfUnavailable = true, DomainFormat domainFormat = DomainFormat.NoDomains)
Parameters
bool throwExceptionIfUnavailable

DomainFormat domainFormat

Returns
IDictionary<int, string>

Extension Methods

EnumHelper.In<TEnum>(TEnum, params TEnum[])
IEnumerableExtensions.ToEnumerable<T>(T)
StringExtensions.AssertNotNull<T>(T, string)
TypeExtensions.WithDispose<T, V>(T, Func<T, V>)
EnumHelper.CastNullable<TEnum>(object)
TypeExtensions.ConvertTo<V>(object)
TypeExtensions.TryConvert<V>(object, out V)
Back to top Copyright 2019-2023 by CastleHill Software LLC