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.
Inherited Members
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)