Click or drag to resize

PFApplication Class

Represents an application installed on a Packflow site.
Inheritance Hierarchy

Namespace:  Packflow.Core
Assembly:  MicaSystems.Packflow.Core (in MicaSystems.Packflow.Core.dll) Version: 1.0.0.0 (3.2.0.306)
Syntax
C#
public class PFApplication : PFStructureObject

The PFApplication type exposes the following members.

Constructors
  NameDescription
Public methodPFApplication
Top
Properties
  NameDescription
Public propertyAssemblyName
Gets the full name of the assembly of this application.
Public propertyBeforeSaveValues
Gets the previous values of modified fields before the latest Save.

Note: this feature is NOT persisted in the database and therefore only concerns this instance.

(Inherited from PFBaseObject.)
Public propertyCanDelete
Checks if the current permission context allows current user to delete this object.
(Inherited from PFBaseObject.)
Public propertyCanRead
Checks if the current permission context allows current user to access this object.
(Inherited from PFBaseObject.)
Public propertyCanUpdate
Checks if the current permission context allows current user to update this object.
(Inherited from PFBaseObject.)
Protected propertyConnectionInitialized
Gets a value indicating whether the connection is available.
(Inherited from PFStructureObject.)
Public propertyContentTypes
Gets a relation allowing to access the content-types of this application.
Public propertyContexts
Gets a relation allowing to access the contexts of this application.
Public propertyCreated
Indicates if this object has been created and is still in database (positive Id).
(Inherited from PFBaseObject.)
Public propertyCreatedAt
Gets the date of creation of this object in the database.
(Inherited from PFBaseObject.)
Public propertyCreatedBy
Gets the user who created this object in the database.
(Inherited from PFBaseObject.)
Public propertyCurrentUser
Gets the current PFUser of the site.
(Overrides PFStructureObjectCurrentUser.)
Public propertyData
Gets the data collection of this object.
(Inherited from PFBaseObject.)
Public propertyDateObjectCreation
Gets the date of the creation of this object in memory.
(Inherited from PFManagedObject.)
Public propertyDefaultLanguageCode
Gets or sets the default language code.
Public propertyDefaultNamespace
Gets the default namespace of the assembly of this application.
Public propertyDeleted
True if this object is flagged as deleted.
(Inherited from PFBaseObject.)
Public propertyDeletedAt
Date of the suppression of this object.
(Inherited from PFBaseObject.)
Public propertyDeletedBy
The user who deleted this object.
(Inherited from PFBaseObject.)
Public propertyDescription
Gets or sets the description of this object.
(Inherited from PFStructureObject.)
Public propertyDisplayName
Gets the application's display name.
(Overrides PFStructureObjectDisplayName.)
Public propertyEnableVersionMergeToResolveSaveConflicts

Read-only property. Can be modified if overridden.

If an object is saved with an older version than the last persisted (in database), the system will try to merge the versions values (if no conflicts between values) and will then save the merged item to database.

Note : this setting is NOT persisted and will affect this object instance only.

(Overrides PFBaseObjectEnableVersionMergeToResolveSaveConflicts.)
Public propertyExists
Indicates if this object has been created, still exists in database and is not flagged for suppression.
(Inherited from PFBaseObject.)
Public propertyGroups
Gets a relation allowing to access the groups of this application.
Public propertyGuid
Gets the GUID identifying this object. Must be used if Id is no more viable, example if content were merged.
(Inherited from PFBaseObject.)
Public propertyHasPendingModifications
Checks if there is pending changes. Will check if the values are different from the currently persisted values.
(Inherited from PFBaseObject.)
Public propertyHasPendingPermissionsModifications
Checks if there is pending modifications in permissions. Will compute permissions (RUD) and check if there is differences with current persisted permissions.
(Inherited from PFBaseObject.)
Public propertyId
Gets the id identifying this object. Must be used to find or identify an object because faster than Guid.
(Inherited from PFBaseObject.)
Public propertyItemsEvents
Gets a relation allowing to access all events of items of this application.
Public propertyItemsRelations
Gets a relation allowing to access all relations between items of this application.
Public propertyKeepBeforeSaveValues
Gets or sets a value indicating whether the Save should keep a collection of the modified fields previous values.

Note: this feature is NOT persisted in the database and therefore only concerns this instance.

(Inherited from PFBaseObject.)
Public propertyLastInstallation
Gets the last installation date (of this application).
Public propertyLogger
Gets the logger, used to log any useful warning, error or information in the database.
(Inherited from PFManagedObject.)
Public propertyLogIdentification
Gets a technical text representing this object.
(Inherited from PFStructureObject.)
Public propertyLogs
Log entries related to this object.
(Inherited from PFStructureObject.)
Public propertyModel
Gets the application model.
Public propertyModelRelations
Gets the list of all content relations in the model.
Public propertyName
Gets the name of this object.
(Inherited from PFStructureObject.)
Public propertyParentSite
Gets the Packflow site containing this application.
Public propertyPermissionContext
Gets an object calculating permissions on demand.
Public propertyPermissions
Gets the permission set (RUD permissions) of this item.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetDeleteId
Id of the permission set for Delete access.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetDeleteXml
XML of serialized permission set for Delete access.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetReadId
Id of the permission set for Read access.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetReadXml
XML of serialized permission set for Read access.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetUpdateId
Id of the permission set for Update access.
(Inherited from PFBaseObject.)
Protected propertyPermissionSetUpdateXml
XML of serialized permission set for Update access.
(Inherited from PFBaseObject.)
Public propertySettings
Gets the application settings.
Public propertySite
Gets the root of the persisted objects tree.
(Inherited from PFBaseObject.)
Public propertySubViews
Gets a relation allowing to access the subviews of this application's views.
Public propertySupportFilesPath
Gets the path of the folder containing the support files of this application.
Public propertyThemeId
Gets or sets the theme id, referencing the theme commonly used on the application.

See GetActiveTheme method for more information.

Public propertyUpdatedAt
Gets the date of the last update of this object.
(Inherited from PFBaseObject.)
Public propertyUpdatedBy
Gets the user who last updated this object in the database.
(Inherited from PFBaseObject.)
Public propertyUrl
Gets the url of the application in the navigation.
(Overrides PFStructureObjectUrl.)
Public propertyVersion
Gets the version (modeling).
Public propertyVersionNumber
Gets the version number of this object in database. Incremented after each save.
(Inherited from PFBaseObject.)
Public propertyViews
Gets a relation allowing to access the views referencing content-types of this application
Top
Methods
  NameDescription
Public methodDelete
Flags this object as deleted.

If it fails, throws an error.

If the object could not be deleted because it does not yet exist in database, returns false.

If successful, returns true.

(Inherited from PFBaseObject.)
Protected methodFinalize
Finalizes an instance of the PFApplication class.
(Overrides ObjectFinalize.)
Public methodGetActiveTheme
Gets the theme currently active on the application.

Note: if there is no theme set on the application, the theme of the parent site is returned.

Public methodGetContextCorrespondingReferenceGroup
Gets the reference group id corresponding to the specified application context in this application.

A reference group is an organizational (site scope) group used as reference on a context.

This method uses an optimized cache.

Public methodGetContextName
Gets a context name from its id.

This method uses an optimized cache.

Public methodGetCurrentUserAvailableContexts
Gets the list of application contexts available to the current user.

This method uses an optimized cache.

Protected methodGetNewPermissionContext
Creates a new permission context based on current object type.
(Overrides PFBaseObjectGetNewPermissionContext.)
Public methodGetObjectRelationByName
Gets a children entities relation by its name.
(Inherited from PFRelationalObject.)
Public methodGetReferenceGroupCorrespondingContext
Gets the application context id corresponding to the specified reference group id in this application.

A reference group is an organizational (site scope) group used as reference on a context.

This method uses an optimized cache.

Public methodGetSupportFileInfo
Gets the FileInfo of a given file from the folder containing the support files of this application.
Public methodGetSupportFilePath
Gets the full path of a given file from the folder containing the support files of this application.
Public methodGetTranslation(Resource, Boolean)
Gets a translation from a resource, using the current site language or the current user language.
Public methodGetTranslation(Resource, String, Boolean)
Gets a translation from a resource, using the current site language or the current user language.
Public methodGetUserAvailableContexts
Gets the list of application contexts available to the specified user.

This method uses an optimized cache.

Protected methodInitializeLogger
Use this method to override the way the logger is initialized.
(Inherited from PFStructureObject.)
Public methodIsContextAvailableForCurrentUser(Int64)
Determines whether this application is visible for the current user through a specific application context. This indicates if the user has any membership in the context.

This method uses an optimized cache.

Public methodIsContextAvailableForCurrentUser(String)
Determines whether this application is visible for the current user through a specific application context. This indicates if the user has any membership in the context.

This method uses an optimized cache.

Public methodIsContextAvailableForUser(Int64, PFUser)
Determines whether this application is visible for a given user through a specific application context. This indicates if the user has any membership in the context.

This method uses an optimized cache.

Public methodIsContextAvailableForUser(String, PFUser)
Determines whether this application is visible for a given user through a specific application context. This indicates if the user has any membership in the context.

This method uses an optimized cache.

Public methodIsCurrentUserContextAdmin(Int64)
Determines whether the current user is administrator of a context (any or the specified one) of this application.

This method uses an optimized cache.

Public methodIsCurrentUserContextAdmin(String)
Determines whether the current user is administrator of a context (any or the specified one) of this application.

This method uses an optimized cache.

Public methodIsUserContextAdmin(PFUser, Int64)
Determines whether the specified user is administrator of a context (any or the specified one) of this application.

This method uses an optimized cache.

Public methodIsUserContextAdmin(PFUser, String)
Determines whether the specified user is administrator of a context (any or the specified one) of this application.

This method uses an optimized cache.

Public methodIsVisibleForCurrentUser
Determines whether this application is visible for the current user. This indicates if the user has any membership in the application contexts.

This method uses an optimized cache.

Public methodIsVisibleForUser
Determines whether this application is visible for the specified user. This indicates if the user has any membership in the application contexts.

This method uses an optimized cache.

Protected methodProcessPermissions
Compute permissions from permission context and set in data properties.
(Inherited from PFStructureObject.)
Public methodRunInTransactionArea
Runs a code with a transaction on object connection. If there is no current transaction and if the code succeed, transaction is committed. If an exception is thrown, transaction is rollback.
(Inherited from PFBaseObject.)
Public methodSave
Applies the data of this object in the database.

If this object does not exist in the database yet, the children tables will be ensured.

After the save, Insert permissions of children objects are updated in the database (RLS).

Application visibility cache is also updated.

(Overrides PFStructureObjectSave.)
Protected methodSaveObjectsInDataCollection
Saves data loaded from temp specialized object in data properties collection before save or check hasPendingChanges.
(Overrides PFBaseObjectSaveObjectsInDataCollection.)
Public methodSaveSettings
Saves the application settings and theme.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTriggerEvent
Triggers the specified event. This will call the OnEventTriggered method on the PFApplicationEvents classes of the target applications.
Public methodTryGetSupportFileContent
Tries to get the content of a given file from the folder containing the support files of this application.
Public methodTryGetSupportFileStream
Tries to get the stream of a given file from the folder containing the support files of this application.
Public methodTryTranslateApplicationContextId
Tries to get corresponding application context id from this application to another using reference group. If an application context with the same reference group is found, its id is returned. Else -1.
Public methodVisibility_GetAdminUsers
Gets the ids of users having an administrator access to this application, through a specific context if specified.

This method uses an optimized cache.

Public methodVisibility_GetGroups
Gets the ids of groups having access to this application, through a specific context if specified.

This method uses an optimized cache.

Public methodVisibility_GetUsers
Gets the ids of users having access to this application, through a specific context if specified.

This method uses an optimized cache.

Top
Fields
  NameDescription
Public fieldStatic memberFieldName_AssemblyName
Column name in database.
Public fieldStatic memberFieldName_DefaultLanguageCode
Column name in database.
Public fieldStatic memberFieldName_DefaultNamespace
Column name in database.
Public fieldStatic memberFieldName_LastInstallation
Column name in database.
Public fieldStatic memberFieldName_ThemeId
Column name in database.
Public fieldStatic memberFieldName_Version
Column name in database.
Top
Extension Methods
  NameDescription
Public Extension MethodAsT
Casts an object to another type. Returns default(T) if the object is null.
(Defined by Utils_Other.)
Public Extension MethodEqualsAll
Checks that this object is equal to every object in parameters.
(Defined by Utils_Other.)
Public Extension MethodEqualsAny
Checks that this object is equal to at least one of the parameters.
(Defined by Utils_Other.)
Public Extension MethodGetApplicationMapLinks
Gets the list of links of an application's map (modeling).
(Defined by CoreExtensions.)
Public Extension MethodGetString
Converts an object to String using ToString() method, else returns String.Empty.
(Defined by Utils_Other.)
Public Extension MethodIsGenericListOverloaded.
Checks if this object is a System.Collections.Generic.List.
(Defined by Utils_Linq.)
Public Extension MethodIsGenericList(Type)Overloaded.
Checks if this object is a System.Collections.Generic.List using type as T.
(Defined by Utils_Linq.)
Public Extension MethodSerializeOverloaded.
Serializes an object into an XML document.
(Defined by Utils_Xml.)
Public Extension MethodSerialize(String)Overloaded.
Serializes an object into an XML document.
(Defined by Utils_Xml.)
Public Extension MethodSerializeJsonOverloaded.
Serializes an object using a DataContractJsonSerializer.
(Defined by Utils_String.)
Public Extension MethodSerializeJson(ListType)Overloaded.
Serializes an object using a DataContractJsonSerializer.
(Defined by Utils_String.)
Public Extension MethodSerializeJson(DataContractJsonSerializerSettings)Overloaded.
Serializes an object using a DataContractJsonSerializer.
(Defined by Utils_String.)
Top
See Also