Show / Hide Table of Contents

Class RestrictionStorageBase

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Inheritance
object
RestrictionStorageBase
RestrictionCriteriaStorage
Implements
IRestrictionStorage
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
public abstract class RestrictionStorageBase : IRestrictionStorage

Constructors

RestrictionStorageBase()

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
protected RestrictionStorageBase()

Properties

Context

Contextual information to pass on to providers involved.

Declaration
public string Context { get; set; }
Property Value
Type Description
string

Methods

CopyCriteria(int, int, int)

Finds the search criteria and copies it into a new row, with input owner table and owner id, with new rows also propogating down for associated search criteria group, search criterion and search criterion value. This will delete existing rows with associated owner table and owner ID.

Declaration
public virtual void CopyCriteria(int sourceSearchCriteriaId, int ownerTable, int ownerId)
Parameters
Type Name Description
int sourceSearchCriteriaId

The search criteria to copy.

int ownerTable

The owner table.

int ownerId

The owner ID.

CreateDefaultRestrictionInfo(string, ArchiveColumnInfo)

Create an empty restriction information object for the given provider and column. This base implementation does not differentiate between providers - but a derived class might.

Declaration
protected ArchiveRestrictionInfo CreateDefaultRestrictionInfo(string providerName, ArchiveColumnInfo defaultColumn)
Parameters
Type Name Description
string providerName

Name of archive provider

ArchiveColumnInfo defaultColumn

Column to make restriction for

Returns
Type Description
ArchiveRestrictionInfo

Populated restriction information object

CreateDefaultRestrictionInfo(string, ArchiveColumnInfo, string)

Create an empty restriction information object for the given provider and column. This base implementation does not differentiate between providers - but a derived class might.

Declaration
protected ArchiveRestrictionInfo CreateDefaultRestrictionInfo(string providerName, ArchiveColumnInfo defaultColumn, string defaultRestrictionOperator)
Parameters
Type Name Description
string providerName

Name of archive provider

ArchiveColumnInfo defaultColumn

Column to make restriction for

string defaultRestrictionOperator

Set a specific operator for the default restriction

Returns
Type Description
ArchiveRestrictionInfo

Populated restriction information object

DeleteCriteria(string, string, int)

Delete all criteria associate with the given provider and storage key. Multiple searchCriteria rows will be deleted, and all dependent criteriaGroup, criterion and criterionValue rows

Declaration
public virtual void DeleteCriteria(string providerName, string storageKey, int groupRank = 0)
Parameters
Type Name Description
string providerName

Name of provider

string storageKey

Storage key identifying the criteria to be deleted

int groupRank

Rank of the search criteria group. -1 will delete all groups.

DeleteRestrictionGroup(string, string, int)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
public virtual void DeleteRestrictionGroup(string providerName, string storageKey, int rank)
Parameters
Type Name Description
string providerName
string storageKey
int rank

GetHandledColumns(string)

Get the names of all columns handled for the given combination of provider name and storage type. These are the only valid column names for the other methods in this interface.

Declaration
public abstract string[] GetHandledColumns(string providerName)
Parameters
Type Name Description
string providerName

Provider name to check for

Returns
Type Description
string[]

Array of column names. This array may be empty if no columns are handled.

Exceptions
Type Condition
SoIllegalOperationException

Thrown if there is no handler for the given storageType.

GetRestrictionColumns(string, string)

Get the available columns from the archive provider, and keep only those marked with CanRestrict == true. Return a dictionary of column info indexed by name

Declaration
protected static Dictionary<string, ArchiveColumnInfo> GetRestrictionColumns(string providerName, string context)
Parameters
Type Name Description
string providerName

Name of archive provider

string context
Returns
Type Description
Dictionary<string, ArchiveColumnInfo>

Dictionary<column name, column info> of columns

GetRestrictionGroup(string, string, int)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
public virtual ArchiveRestrictionGroup GetRestrictionGroup(string providerName, string storageKey, int rank)
Parameters
Type Name Description
string providerName
string storageKey
int rank
Returns
Type Description
ArchiveRestrictionGroup

GetRestrictionGroups(string, string)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
public virtual ArchiveRestrictionGroup[] GetRestrictionGroups(string providerName, string storageKey)
Parameters
Type Name Description
string providerName
string storageKey
Returns
Type Description
ArchiveRestrictionGroup[]

GetRestrictions(string, string)

Retrieve previously saved restrictions according to the given keys The ArchiveRestrictionInfo objects are fully populated, including the ArchiveColumnInfo part.

Declaration
public abstract ArchiveRestrictionInfo[] GetRestrictions(string providerName, string storageKey)
Parameters
Type Name Description
string providerName

Name of archive list provider who owns/supplies/processes the columns

string storageKey

Key information to pass to storage handler, for distinguishing multiple criteria sets. For Find dialogs, this would be the 'associateId=<id>', since they are stored per associate; for reports, this would be 'publishId=<id>&associateId=<id>' since criteria sets for reports are stored per report and associate. This string can actually be anything that the handlers is prepared to accept and the examples here are guidelines.

Returns
Type Description
ArchiveRestrictionInfo[]

Array of restrictions. This array may be empty if no restrictions corresponded to the given key.

Exceptions
Type Condition
SoIllegalOperationException

Thrown if there is no handler for the given storageType.

GetRestrictionsForGroup(string, string, int)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
public virtual ArchiveRestrictionInfo[] GetRestrictionsForGroup(string providerName, string storageKey, int rank)
Parameters
Type Name Description
string providerName
string storageKey
int rank
Returns
Type Description
ArchiveRestrictionInfo[]

GetSpecifiedRestrictionsWithDefaults(string, string, params string[])

Retrieve previously saved restrictions, returning exactly those columns that have been specified. If the columns have valid saved values, those will be returned; otherwise, default values for operator and value will be created. The ArchiveRestrictionInfo objects are fully populated, including the ArchiveColumnInfo part.

Declaration
public abstract ArchiveRestrictionInfo[] GetSpecifiedRestrictionsWithDefaults(string providerName, string storageKey, params string[] columnNames)
Parameters
Type Name Description
string providerName

Name of archive list provider who owns/supplies/processes the columns

string storageKey

Key information to pass to storage handler, for distinguishing multiple criteria sets. For Find dialogs, this would be the 'associateId=<id>', since they are stored per associate; for reports, this would be 'publishId=<id>&associateId=<id>' since criteria sets for reports are stored per report and associate. This string can actually be anything that the handlers is prepared to accept and the examples here are guidelines.

string[] columnNames

Array of column names, specifying the columns for which we want the ArchiveRestrictionInfo objects

Returns
Type Description
ArchiveRestrictionInfo[]

Array of restrictions. This array may be empty if no restrictions corresponded to the given key.

Exceptions
Type Condition
SoIllegalOperationException

Thrown if there is no handler for the given storageType.

IsSaintColumn(string)

Determine whether a certain column name is a saint column or not (statuses are parsed only for the saintStatus prefix, which is not bomb-proof but generally good enough)

Declaration
protected bool IsSaintColumn(string columnName)
Parameters
Type Name Description
string columnName
Returns
Type Description
bool

true if the column is a saint column

IsStorageKeyNegativeOrZero(string)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
protected bool IsStorageKeyNegativeOrZero(string storageKey)
Parameters
Type Name Description
string storageKey
Returns
Type Description
bool

IsStorageKeyZero(string)

Determine if the storage key is either empty, or only contains zero-valued id's

Declaration
protected bool IsStorageKeyZero(string storageKey)
Parameters
Type Name Description
string storageKey

Storage key

Returns
Type Description
bool

true if there are no non-zero id's

MapSaintColumn(Columns, out CounterType, out MainType, out int)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
protected void MapSaintColumn(SaintRestrictionExtenderBase.Columns saintColumn, out SaintRestrictionExtenderBase.CounterType counterType, out SaintRestrictionExtenderBase.MainType mainType, out int skipValues)
Parameters
Type Name Description
SaintRestrictionExtenderBase.Columns saintColumn
SaintRestrictionExtenderBase.CounterType counterType
SaintRestrictionExtenderBase.MainType mainType
int skipValues

SaveRestrictionGroup(string, string, ArchiveRestrictionGroup)

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

Declaration
public virtual void SaveRestrictionGroup(string providerName, string storageKey, ArchiveRestrictionGroup restrictionGroup)
Parameters
Type Name Description
string providerName
string storageKey
ArchiveRestrictionGroup restrictionGroup

SaveRestrictions(string, string, params ArchiveRestrictionInfo[])

Save an array of restrictions for later use. The ColumnInfo member of the archive restriction info objects is not used and can be null.

Declaration
public abstract void SaveRestrictions(string providerName, string storageKey, params ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
string providerName

Name of archive list provider who owns/supplies/processes the columns

string storageKey

Key information to pass to storage handler, for distinguishing multiple criteria sets. For Find dialogs, this would be the 'associate=<id>', since they are stored per associate; for reports, this would be 'publish=<id>&associate=<id>' since criteria sets for reports are stored per report and associate. This string can actually be anything that the handlers is prepared to accept and the examples here are guidelines. The criteria storage provider genereally requires the keys to be valid table names, since it has to translate them into table numbers for the actual storage

ArchiveRestrictionInfo[] restrictions

Array of restrictions to be saved. Values, operators etc are also saved.

Exceptions
Type Condition
SoIllegalOperationException

Thrown if there is no handler for the given storageType, or if there were columns that could not be handled in the incoming array of restrictions.

Implements

IRestrictionStorage

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