Click or drag to resize

SystemOnboardingController Class

This controller is to be used with GaaS and system onboarding It contains methods for retrieving status on systems which is part of the system onboarding It also contains methods for starting OIS warehouse imports
Inheritance Hierarchy
SystemObject
  Omada.OE.AppLogicControllerBase
    Omada.OE.Solution.OIM.AppLogic.SystemOnboardingSOBControllerBase
      Omada.OE.Solution.OIM.AppLogic.SystemOnboardingSystemOnboardingController

Namespace:  Omada.OE.Solution.OIM.AppLogic.SystemOnboarding
Assembly:  Omada.OE.Solution.OIM.AppLogic (in Omada.OE.Solution.OIM.AppLogic.dll) Version: 15.0.0.0
Syntax
C#
public class SystemOnboardingController : SOBControllerBase

The SystemOnboardingController type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyConnectionString
Connection string for the database. Can be null.
(Inherited from ControllerBase.)
Public propertyDbCommandTimeout
DbCommandTimeout is applied to SqlCommand objects created using CreateSqlCommand(). The DbCommandTimeout value is (normally) passed on to other controllers created by the controller. If DbCommandTimeout is Zero then the DB default will be used as timeout.
(Inherited from ControllerBase.)
Public propertyDbConnection
Consider using CreateCommand() instead of accessing DbConnection directly. DbConnection and DbTransaction are either specified when constucting the controller or the controller constructs them itself (by using ConnectionString) when calling DoInConnection or DoInTransaction. If the caller specified DbConnection and DbTransaction when constucting the controller then the caller is responsible for the management of the connection.
(Inherited from ControllerBase.)
Public propertyDbTransaction
Consider using CreateCommand() instead of accessing DbTransaction directly. DbConnection and DbTransaction are either specified when constucting the controller or the controller constructs them itself (by using ConnectionString) when calling DoInConnection or DoInTransaction. If the caller specified DbConnection and DbTransaction when constucting the controller then the caller is responsible for the management of the connection.
(Inherited from ControllerBase.)
Public propertyFactory
Factory class for creating controller instances.
(Inherited from ControllerBase.)
Public propertyStatic memberSystemIDInvalidCharRegex
Top
Methods
  NameDescription
Protected methodBuildCacheKey
Builds a cache key for use with GetFromCacheIfPresent. The cache key is not hashed because we have experienced a collision using GetHashCode() ie. the cache keys are quite long and there is a price in dictionary size in memory and in dictionary lookups.
(Inherited from ControllerBase.)
Protected methodCheckObjectOperationSecurity
Checks that the active user is allowed to perform an CRUD operation on a specific configuration object. (note: except that a Create operation is not for a specific object). Throws a SecurityException if not. Method can be used for all configuration objects that are represented by a ConfigurationObjectType (except those that have a compound key). Method checks auth role security as well as whether it is allowed to modify builtin/feature package objects.
(Inherited from ControllerBase.)
Protected methodCheckObjectSaveOperationSecurity
Checks that the active user is allowed to Create a new - or Update an existing configuration object. Throws a SecurityException if not. Method can be used for all configuration objects that are represented by a ConfigurationObjectType (except those that have a compound key). Method checks auth role security as well as whether it is allowed to modify builtin/feature package objects.
(Inherited from ControllerBase.)
Public methodConvertId(Int32, ConfigurationObjectType)
Converts the integer id of an object to its transport-safe unique id (UId).
(Inherited from ControllerBase.)
Public methodConvertId(String, ConfigurationObjectType)
Converts a string representation of an integer or Guid id to an integer id.
(Inherited from ControllerBase.)
Public methodConvertId(Guid, ConfigurationObjectType, Boolean)
Converts the transport-safe unique id (UId) of an object to its integer id.
(Inherited from ControllerBase.)
Public methodConvertIds(IEnumerableGuid, ConfigurationObjectType)
Converts the transport-safe unique ids (UId) of a number of objects to integer ids.
(Inherited from ControllerBase.)
Public methodConvertIds(IEnumerableInt32, ConfigurationObjectType)
Converts the integer ids of a number of objects to their transport-safe unique ids (UId).
(Inherited from ControllerBase.)
Protected methodCreateCommand(SQLBuilder) (Inherited from ControllerBase.)
Protected methodCreateCommand(String) (Inherited from ControllerBase.)
Protected methodCreateSqlBulkCopy
Create a new SqlBulkCopy instance using the connection, transaction and timeout values from the controller
(Inherited from ControllerBase.)
Public methodDeleteRegisteredSystem
Deletes a registered system. Following systems can be deleted: Primary systems Systems from single instance collectors Offline generic systems Systems were no import has been done yet (ODWBUSIKEY is emtpy) Note: when deleting a primary system will the system category system and data connection ALSO be deleted
Public methodDoInConnection(ControllerBaseActionWithNoResult)
Executes an action that doesn't return a result. If no current connection exists, it will establish a connection to the database and close it afterwards. An existing connection will be reused. Inside the action, the connection is available as DbConnection.
(Inherited from ControllerBase.)
Public methodDoInConnection(ActionSqlConnection, SqlTransaction, Boolean)
Executes an action that doesn't return a result. If no current connection exists, it will establish a connection to the database and close it afterwards. Connection and Transaction are passed to delegate, to allow passing to other controllers An existing connection will be reused. Inside the action, the connection is available as DbConnection. To ensure a new connection set forceNew to true.
(Inherited from ControllerBase.)
Public methodDoInConnectionT(ControllerBaseActionWithResultT)
Executes an action and returns the result. If no current connection exists, it will establish a connection to the database and close it afterwards. An existing connection will be reused. Inside the action, the connection is available as DbConnection.
(Inherited from ControllerBase.)
Public methodDoInTransaction(ControllerBaseActionWithNoResult)
Executes an action (that doesn't return a result) in a transaction. If no current connection and/or transaction exists, it will establish it and commit and close it afterwards. An existing connection/transaction will be reused. Inside the action, the connection is available as DbConnection and the transaction as DbTransaction.
(Inherited from ControllerBase.)
Public methodDoInTransactionT(ControllerBaseActionWithResultT)
Executes an action in a transaction and returns the result. If no current connection and/or transaction exists, it will establish it and commit and close it afterwards. An existing connection/transaction will be reused. Inside the action, the connection is available as DbConnection and the transaction as DbTransaction.
(Inherited from ControllerBase.)
Public methodDoInTransactionT(FuncSqlConnection, SqlTransaction, T, Boolean)
Executes an action in a transaction and returns the result. Connection and Transaction are passed to delegate, to allow passing to other controllers If no current connection and/or transaction exists, it will establish it and commit and close it afterwards. An existing connection/transaction will be reused. Set forceNew to true to ensure new connection and transaction Inside the action, the connection is available as DbConnection and the transaction as DbTransaction.
(Inherited from ControllerBase.)
Protected methodDoInTransactionUnlessPostponedDueToPreviousDefaultResultT
The method can postpone a SQL transaction implemented by action if the method returns a default number, eg. 0. If the the action method throws a SQL transitent error, then the next call to action is also postponed.
(Inherited from ControllerBase.)
Protected methodDoUnlessPostponedDueToPreviousDefaultResultT
The method can postpone a method invocation if the previous call returned a default number, eg. 0.
(Inherited from ControllerBase.)
Protected methodExecScalarResultQueryT
Executes a query with a scalar result.
(Inherited from ControllerBase.)
Public methodExecuteMutexOperation(String, Action, Boolean) (Inherited from ControllerBase.)
Protected methodExecuteMutexOperationT(String, FuncT, Boolean) (Inherited from ControllerBase.)
Protected methodExpireCacheItem (Inherited from ControllerBase.)
Public methodGenerateImportThresholdId
Generates ID for a threshold, the id is to be used when sending configuration to the threshold service
Public methodGetCollectorConfiguration
Returns all system onboarding values required by the collector
Public methodGetDataConnectionForSystem(Int32, Boolean)
This function will return the DataConnection data object for a system If the data connection doesnt not exists will it create a new (id createIfMissing=true) Function will update the SYSONB_DATACONNECTION property on the system object if it was missing
Public methodGetDataConnectionForSystem(DataObject, Boolean)
This function will return the DataConnection data object for a system If the data connection doesnt not exists will it create a new (id createIfMissing=true) Function will update the SYSONB_DATACONNECTION property on the system object if it was missing
Protected methodGetDbUTCNow
(Inherited from ControllerBase.)
Public methodGetDerivedSystems
Returns a list of possible derived systems for an umbrella system
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultIntegerList, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultAppIdentity, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultBoolean, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultIListGuid, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultListGuid, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultListInt32, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultGuid, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultInt32, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresent(String, ControllerBaseActionWithResultTimeZoneInfo, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresentT(String, ControllerBaseActionWithResultListT, ControllerBaseCacheOptions) (Inherited from ControllerBase.)
Public methodGetFromCacheIfPresentT(String, ControllerBaseActionWithResultT, ControllerBaseCacheOptions)
Retrieves some data from the cache or (if it is not there) executes an action and stores the result in the cache. Caching is not applied if the IgnoreCacheContext is used (depending on the parameter for it). Note: caching should only be used with great care as there are a number of potential issues involved in using it!
(Inherited from ControllerBase.)
Protected methodGetNewRowIdentity (Inherited from ControllerBase.)
Protected methodGetObjectDataVersion
Gets the data version of an object.
(Inherited from ControllerBase.)
Public methodGetOnboarderdDerivedSystems
Gets onboarded derived systems from the primary system.
Public methodGetSystemCategory
Returns the system category dataobject for the system
Public methodGetSystemCategoryId
this method is abstraction which implementation is subject to change when final design is in place
Public methodGetSystemContentType
Return the content type (HRData, Access Data, Both) the system or category contains
Public methodGetSystemObjectFromString
Looks up a system object
Public methodGetSystemRelatedObjects
this functions looksup all the data objects whic is related to a system in system onboarding
Public methodGetSystems
Get a list of the systems which is part of the system onboarding
Public methodGetSystemStatus
this methods returns an overall system status 0 if system is idle 1 if odw is importing or exporting data 2 if rope is calculating 3 if rope failed to calculate identites 4 if import/export package failed 5 if one or more export objects failed
Protected methodIncrementDataVersion
(Inherited from ControllerBase.)
Protected methodIncrementObjectDataVersion(IEntityObject)
Increments the data version of an entity object. The data version is incremented in the db as well as on the object itself. Method is used to update the data version of an object when an aggregated object is created/modified/deleted. The purpose is to ensure that the id-based cache (in AppIdentity) is updated properly.
(Inherited from ControllerBase.)
Protected methodIncrementObjectDataVersion(Int32, EntityObjectType)
Increments the data version of an entity object in the db. Method is used to update the data version of an object when an aggregated object is created/modified/deleted. The purpose is to ensure that the id-based cache (in AppIdentity) is updated properly.
(Inherited from ControllerBase.)
Public methodIsUserSolutionAdministrator
Returns true is the authenticated user is considered administrator of system onboarding
Public methodIsUserSystemOwner(Int32)
Returns true if the authenticated user is a system owner of the specified system
Public methodIsUserSystemOwner(ListInt32, Boolean)
Returns true if the authenticated user is a system owner of all the specified systems
Public methodParseThresholdIdAndGetInfo
Returns object for thresholdId with parsed values
Public methodParseThresholdInterval
Parses a "hh:mm:ss" to timespan
Protected methodPopulateTempTableT
Creates a temporary db table with a single column and populates it with values.
(Inherited from ControllerBase.)
Protected methodPostponeTransientErrorT
If the action throws a transient sql error, the exception is eaten. An entry is written to the log with level Information. The entire exception is written to the log with level Debug.
(Inherited from ControllerBase.)
Public methodRegisterNewSystem(Int32, Int32, String, String, Boolean, Int32, SystemContent, String, String, Boolean, String)
Registers a new system
Public methodRegisterNewSystem(NullableInt32, NullableInt32, String, String, Boolean, Int32, Int32, String, String, Boolean, String)
Registers a new system
Public methodReprocessAllIdentities
Use with care This method will execute the 'spAddAllToQueue' stored procedure in the RoPE database
Public methodReprocessFailedIdentities
Re-queues all failed identities
Public methodRequiresThresholdMigration
Determines if the system requires a threshold migration
Public methodSetGeneralSettings
Changed the general settings of a registered system. Allows changing system name, system ID and content. Note that changes cannot occur if data is already present in ODW (checked with SystemHasImportedData() help function). System category name and SC_IDENT is also changed if only one system instance exists (checked with OC_SINGLEINSTANCE property).
Public methodSystemHasImportedData
Checks if a system has been part of a dataware house import Currently it checks if ODWBUSIKEY is empty or not If empty it will connect to the warehouse and check if the category is present in ODWSourceSystem
Protected methodTransferUIdsToIdsLoadOption
Converts/transfers one or more specified uids in a loadoptions object to ids. The purpose is to enable caching as IEntityObjectsLoadOptions.IdList only works with ids (and not uids).
(Inherited from ControllerBase.)
Public methodUpdateImportThresholdValues
Updates thresholds on the system
Public methodUpdateOnboardingValues
This function will save configuration values for a particular onboarding section If the section contains parameters from several scopes (data objects) then each configuration will be updated
Public methodUpdateSystemNotification
Sets the SOBONB_NOTIFICATION property
Protected methodValidateDataVersionT
Validates that the data version of an object corresponds to the data version in the DB. Method is used for validation before saving an object.
(Inherited from ControllerBase.)
Top
Fields
  NameDescription
Public fieldStatic memberSystemIDInvalidIDs
the list is used to prevent forbidden names
Top
Extension Methods
  NameDescription
Public Extension MethodToBool
Converts object to boolean.
(Defined by ObjectExtensions.)
Public Extension MethodToDateTime
Converts object to DateTime.
(Defined by ObjectExtensions.)
Public Extension MethodToInt
Converts object to integer.
(Defined by ObjectExtensions.)
Top
See Also