Show / Hide Table of Contents

Class RestrictionStorageFactory

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Inheritance
object
RestrictionStorageFactory
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[SoInject("Database")]
public class RestrictionStorageFactory
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

Methods

GetMapping(string, string)

Return the criterion mapping information - if any - for the given combination of storage type and provider name

Declaration
public Dictionary<string, Dictionary<string, string>> GetMapping(string storageType, string xPath)
Parameters
Type Name Description
string storageType

Case-insensitive name of the desired storage type. Initially valid types are 'Criteria' and 'Reporter'.

string xPath
Returns
Type Description
Dictionary<string, Dictionary<string, string>>

Mapping information, typically an XML string

Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetProvider(string)

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Declaration
public IRestrictionStorage GetProvider(string storageType)
Parameters
Type Name Description
string storageType
Returns
Type Description
IRestrictionStorage
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetProvider(string, string)

Return a singleton restriction storage provider for the given storageType, or null if no provider exists.

Declaration
public IRestrictionStorage GetProvider(string storageType, string context)
Parameters
Type Name Description
string storageType

Case-insensitive name of the desired storage type. Initially valid types are 'Criteria' and 'Reporter'.

string context
Returns
Type Description
IRestrictionStorage

Storage provider, or null

Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetRestrictionFromAllGroupsViaStorage(ArchiveRestrictionInfo[], string, string, string, string)

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Declaration
public ArchiveRestrictionInfo[][] GetRestrictionFromAllGroupsViaStorage(ArchiveRestrictionInfo[] restrictions, string providerName, string storageType, string storageKeyRestrictionName, string restrictionStorageKey)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
string providerName
string storageType
string storageKeyRestrictionName
string restrictionStorageKey
Returns
Type Description
ArchiveRestrictionInfo[][]
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetRestrictionFromAllGroupsViaStorage(ArchiveRestrictionInfo[], string, string, string, string, string)

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Declaration
public ArchiveRestrictionInfo[][] GetRestrictionFromAllGroupsViaStorage(ArchiveRestrictionInfo[] restrictions, string providerName, string storageType, string storageKeyRestrictionName, string restrictionStorageKey, string context)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
string providerName
string storageType
string storageKeyRestrictionName
string restrictionStorageKey
string context
Returns
Type Description
ArchiveRestrictionInfo[][]
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetRestrictionViaStorage(ArchiveRestrictionInfo[], string, string, string, string)

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Declaration
public ArchiveRestrictionInfo[] GetRestrictionViaStorage(ArchiveRestrictionInfo[] restrictions, string providerName, string storageType, string storageKeyRestrictionName, string restrictionStorageKey)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
string providerName
string storageType
string storageKeyRestrictionName
string restrictionStorageKey
Returns
Type Description
ArchiveRestrictionInfo[]
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

GetRestrictionViaStorage(ArchiveRestrictionInfo[], string, string, string, string, string)

Factory class for restriction storage providers. This class will scan for plugins of type SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage and return a provider for a particular storage type on request.

Declaration
public ArchiveRestrictionInfo[] GetRestrictionViaStorage(ArchiveRestrictionInfo[] restrictions, string providerName, string storageType, string storageKeyRestrictionName, string restrictionStorageKey, string context)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
string providerName
string storageType
string storageKeyRestrictionName
string restrictionStorageKey
string context
Returns
Type Description
ArchiveRestrictionInfo[]
Remarks

After the demise of Reporter, we only have one set of RestrictionStorage mechanisms. However, because the whole storage should be drastically refactored and simplified (use JSON serialization of criteria, save a couple of tables, and drop most of the validation), we leave the architecture in place as-is. 2026-02-27 (mv)

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top