Skip to content

Application Library

ThreadLocalStorage


Description

Stores and retrieves data local to current Thread.

Methods

Get(string)

Description

Return Type : Object

Static : Yes

Namespace : AppLib.ThreadLocalStorage

Parameters

Name Data Type Description
key string




Remove(string)

Description

Return Type : void

Static : Yes

Namespace : AppLib.ThreadLocalStorage

Parameters

Name Data Type Description
key string




Set(string, Object)

Description

Return Type : void

Static : Yes

Namespace : AppLib.ThreadLocalStorage

Parameters

Name Data Type Description
key string
obj Object




Session


Description

Provides information and tools related to current user's Session

Properties

Name Data Type Static Readonly Description
Storage Dictionary Yes No Stores and retrieves data related to a user Session. Data is erased when user session expires.
CurrentLanguage Domain.ApplicationLanguage Yes No Gets the Language details, used in the user's Application instance.
CurrentLocale Domain.ApplicationLanguage Yes No Gets the Locale details, used in the user's Application instance.

Methods

GetCurrentUserName()

Description

Returns the Username of the logged-in user.

Return Type : string

Static : Yes

Namespace : AppLib.Session

Syntax

if (AppLib.Session.GetCurrentUserName() == "Administrator") {
    return;
}



GetCurrentUser()

Description

Returns the logged-in Application User.

Return Type : Domain.ApplicationUser

Static : Yes

Namespace : AppLib.Session

Syntax

Domain.ApplicationUser user = AppLib.Session.GetCurrentUser();



Abandon()

Description

Removes all the objects stored in a Session.

Return Type : void

Static : Yes

Namespace : AppLib.Session

Syntax

AppLib.Session.Abandon();



ClearAuditTrailCache()

Description

Clears Audit Trail cached data and reloads its configuration.

Return Type : void

Static : Yes

Namespace : AppLib.Session

Syntax

AppLib.Session.ClearAuditTrailCache();



Security


Description

Provides information and functionality with regards to a user's Authentication, Permissions, Validations, Registrations, Encryptions, Descryptions etc.

Methods

SignOutUser()

Description

Signs out current User.

Return Type : void

Static : Yes

Namespace : AppLib.Security

Syntax

AppLib.Security.SignOutUser();
FormModels.SignInPage.Controller.Load.Execute();



SignInUser(string, string, bool)

Description

Signs in User if the login credentials are correct, else displays an error message informing user that he did not log in successfully.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
username string The Username of the user who tries to log in
password string The Password of the user who tries to log in
remember bool The value of the option 'Remember me'. True if user has selected the option 'Remember me' on the Sign-In page

Syntax

bool success = AppLib.Security.SignInUser(Model.UserNameTextBox, Model.PasswordTextBox, Model.RememberMeCB);
if !success {
    ShowMessage(LocalResources.SignInFailed, AppLib.MessageType.Error);
    return;
}



ValidateUser(string, string)

Description

Returns true, if the User credentials provided as inputs to the method are a valid match. Otherwise, returns false.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
username string The Username of the user
password string The Password of the user

Syntax

bool validMatch = AppLib.Security.ValidateUser(Model.UserNameTextBox, Model.PasswordTextBox);

if (!validMatch) 
{
    ShowMessage("The User credentials provided are invalid!", AppLib.MessageType.Error);
} 
else 
{
    ShowMessage("The User credentials provided are valid!");
}



GenerateEmailConfirmationToken(Domain.ApplicationUser)

Description

Returns a string which is used in order to send a confirmation e-mail upon user registration.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The Application User for whom the token is created

Syntax

Domain.ApplicationUser userToRegister;
string code = AppLib.Security.GenerateEmailConfirmationToken(userToRegister);



GeneratePasswordResetToken(Domain.ApplicationUser)

Description

Returns a string which is used in order to reset User’s password.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The Application User for whom the token is created

Syntax

Domain.ApplicationUser currentUser = AppLib.Session.GetCurrentUser();
string resetToken = AppLib.Security.GenerateEmailConfirmationToken(currentUser);



GetAllConnectedUsers()

Description

Returns all currenty connected users

Return Type : Collection

Static : Yes

Namespace : AppLib.Security

Syntax

Collection[Domain.ApplicationUser] connectedUsers = AppLib.Session.GetAllConnectedUsers();



ConfirmEmail(Domain.ApplicationUser, string)

Description

Returns true if user’s e-mail was confirmed successfully, false if not.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The Application User for whom the token is created
code string The token needed for user’s registration

Syntax

bool success = AppLib.Security.ConfirmEmail(user, code);



CurrentUserHasPermission(string)

Description

Returns true if user has the given Permission, false if not.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
permission string The name of the Permission

Syntax

bool success = AppLib.Security.CurrentUserHasPermission("ManageUsers");



PasswordIsValid(string)

Description

Returns true if the Password provided as input to the method is a valid match with the username of the logged in User. Else returns false.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
password string The Password to be validated

Syntax

bool isPasswordValid = AppLib.Security.PasswordIsValid(Model.PasswordTextBox);

if (!isPasswordValid) 
{
    ShowMessage("The provided Password is invalid!", AppLib.MessageType.Error);
} else 
{
    ShowMessage("The provided Password is valid!");
}



ChangePasswordOfUser(Domain.ApplicationUser, string, string)

Description

Changes the Password of the provided User, given the provided Current Password is correct.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The user who tries to change his password
currentPassword string User’s current password
newPassword string User’s new password

Syntax

string result = AppLib.Security.ChangePasswordOfUser(AppLib.Session.GetCurrentUser(), Model.txtCurrent, Model.txtNew);



ResetPasswordOfUser(Domain.ApplicationUser, string)

Description

Resets the Password of the provided User, to the value of the provided New Password.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The user subject to password reset
newPassword string The new password

Syntax

var success = AppLib.Security.ResetPasswordOfUser(Model.UserWhosePasswordToReset, Model.NewPassword);



SignOutUserFromAllSessions(Domain.ApplicationUser)

Description

Forces sign out of a user from all connected clients

Return Type : void

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The user subject to sign out

Syntax

var success = AppLib.Security.SignOutUserFromAllSessions(Model.UserToSignOut);



ResetPasswordOfUserAsAdmin(Domain.ApplicationUser, string)

Description

Allows Admins to reset the Password of the provided User, to the value of the provided New Password. This only works if 'Allow Admins to set user passwords' setting is turned on.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The user subject to password reset
newPassword string The new password

Syntax

var success = AppLib.Security.ResetPasswordOfUserAsAdmin(Model.UserWhosePasswordToReset, Model.NewPassword);



GetAdminCanSetPasswordSetting()

Description

Returns true if 'Allow Admins to set user passwords' setting is turned on, false if turned off.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Syntax

var adminCanSetPasswords = AppLib.Security.GetAdminCanSetPasswordSetting();



ResetPasswordOfUser(Domain.ApplicationUser, string, string)

Description

Resets a user password using a reset password token.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The user subject to password reset
code string The password token
newPassword string New password

Syntax

var success = AppLib.Security.ResetPasswordOfUser(Domain.ApplicationUser.GetByKey("admin"), "myToken", "admin1234!");



RegisterUser(Domain.ApplicationUser, string)

Description

Creates an Application User for this user by registering him in the application. If user is registered successfully null is returned, otherwise the error description.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
name Domain.ApplicationUser The user who will be registered
password string User’s password

Syntax

string error =  AppLib.Security.RegisterUser(userToRegister, Model.PasswordTextBox);



RegisterOSUser(Domain.ApplicationUser)

Description

Creates an Application User for this user by registering him in the application as an OS Authenticated user. If user is registered successfully null is returned, otherwise the error description. CAUTION: Use this method ONLY with Applications that are using 'OS Authentication'!

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
OSUser Domain.ApplicationUser The user to be be registered with Operating System (OS) Authentication

Syntax

Domain.WindowsUser windowsUser; 
string error =  AppLib.Security.RegisterOSUser(windowsUser);



GoogleAccountIsLinked(DomainModel.ApplicationUser)

Description

Returns true, if the user's Google Account has been successfully linked with the Application.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user DomainModel.ApplicationUser The User being checked for a linked Google Account

Syntax

bool success = AppLib.Security.GoogleAccountIsLinked(user);



FacebookAccountIsLinked(DomainModel.ApplicationUser)

Description

Returns true, if the user's Facebook Account has been successfully linked with the Application.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user DomainModel.ApplicationUser The User being checked for a linked Facebook Account

Syntax

bool success = AppLib.Security.FacebookAccountIsLinked(user);



AESEncrypt(string, string)

Description

Encrypt an arbitrary string using the provided key it uses AES Algorithm.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
input string An arbitrary string
key string Encryption key. It should be 128bit, 192bit or 256-bit length.

Syntax

string encryptedText = AppLib.Security.AESEncrypt("test", "B374A26A71490437AA024E4FADD5B497");



AESDecrypt(string, string)

Description

Decrypt an arbitrary string using the provided key it uses AES Algorithm.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
input string An arbitrary string
key string Encryption key. It should be 128bit, 192bit or 256-bit length.

Syntax

string decryptedText = AppLib.Security.AESDecrypt("Gnn5xHQmP6rUNL6umP16lQ==", "B374A26A71490437AA024E4FADD5B497");



AESDecrypt(string, string, bool)

Description

Decrypt an arbitrary string using the provided key it uses AES Algorithm, skip key validation if needed.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
input string An arbitrary string
key string Encryption key. It should be 128bit, 192bit or 256-bit length.
validateKey bool Flag for testing key's validity

Syntax

string decryptedText = AppLib.Security.AESDecrypt("Gnn5xHQmP6rUNL6umP16lQ==", "B374A26A71490437AA024E4FADD5B497",  false);



AESDecrypt(string, string, bool, bool)

Description

Decrypt an arbitrary string using the provided key it uses AES Algorithm, skip key validation if needed and don't handle input as it is at base64 format.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
input string An arbitrary string
key string Encryption key. It should be 128bit, 192bit or 256-bit length.
validateKey bool Flag for testing key's validity
inputIsBASE64 bool Flag for handling input as it is at base64 format

Syntax

string decryptedText = AppLib.Security.AESDecrypt("Gnn5xHQmP6rUNL6umP16lQ==", "B374A26A71490437AA024E4FADD5B497",  false, true);



AESDecrypt(Array[byte], string, bool, bool)

Description

Decrypt an array of bytes using the provided key it uses AES Algorithm, skip key validation if needed and don't handle input as it is at base64 format.

Return Type : string

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
input Array An array of bytes
key string Encryption key. It should be 128bit, 192bit or 256-bit length.
validateKey bool Flag for testing key's validity
inputIsBASE64 bool Flag for handling input as it is at base64 format

Syntax

Array[byte] encryptedText = CommonLib.Utilities.UTF8ToByteArray("Gnn5xHQmP6rUNL6umP16lQ==");
string decryptedText = AppLib.Security.AESDecrypt(encryptedText, "B374A26A71490437AA024E4FADD5B497",  false, true);



IsAuthenticatedByOS()

Description

Returns true if the Current User is Authenticated using OS Authentication.

Return Type : bool

Static : Yes

Namespace : AppLib.Security

Syntax

bool isWindowsAuthenticated = Applib.Security.IsAuthenticatedByOS( );



InvalidateUserSecurityData(Domain.ApplicationUser)

Description

Invalidates (resets) the Security Data of an Application User

Return Type : void

Static : Yes

Namespace : AppLib.Security

Parameters

Name Data Type Description
user Domain.ApplicationUser The Application User whose Security Data is to be invalidated (reset)

Syntax

if(forceLogout){
    AppLib.Security.InvalidateUserSecurityData(user);
    return;
}



Globalization


Description

Provides Date and Time information, on an international scale, regardless of the chosen Language and/or Locale.

Methods

GetDayName(int)

Description

Returns the name of the day of the week specified. Sunday is 0.

Return Type : string

Static : Yes

Namespace : AppLib.Globalization

Parameters

Name Data Type Description
dayNumber int The number of the day of the week. Sunday is 0.

Syntax

string nameOfDay = Applib.Security.GetDayName(0);



GetMonthName(int)

Description

Returns the name of the month of the year specified. January is 0.

Return Type : string

Static : Yes

Namespace : AppLib.Globalization

Parameters

Name Data Type Description
monthNumber int The number of the month of the year. January is 0.

Syntax

string nameOfMonth = Applib.Globalization.GetMonthName(0);



Application


Description

Exports information and functionality regarding the running Application, such as Version, Coniguration, Error, defined Classes etc.

Properties

Name Data Type Static Readonly Description
Id int Yes No Deprecated attribute
Name string Yes No The Name of the running Application
MajorVersion int Yes No Application's Major revision number
MinorVersion int Yes No Application's Minor revision number
PatchVersion int Yes No Application's Patch revision number
SemanticVersion string Yes No Application's full Semantic version. ie: 1.0.3

Methods

GetTypes()

Description

Returns a collection of RuntimeType instances for every class defined in app's Domain.

Return Type : Collection

Static : Yes

Namespace : AppLib.Application

Syntax

Collection[RuntimeType] types = AppLib.Application.GetTypes();



GetConfigurationKey(string)

Description

Returns the value of an Application Setting, as defined in Configuration model.

Return Type : string

Static : Yes

Namespace : AppLib.Application

Parameters

Name Data Type Description
key string Application Setting Key

Syntax

var appVersion = AppLib.Application.GetConfigurationKey("Version");



GetLastError()

Description

Gets Last Error thrown by the Application.

Return Type : AppLib.Error

Static : Yes

Namespace : AppLib.Application

Syntax

string errorMessage = AppLib.Application.GetLastError().Message;



ApplicationCache


Description

Exports methods that get, set and remove items from the Application Cache.

Methods

Get(string)

Description

This function returns the object that is setted to the application cache with the specified key. If no object found returns null.

Return Type : Object

Static : Yes

Namespace : AppLib.ApplicationCache

Parameters

Name Data Type Description
key string The key to search for the object

Syntax

Domain.MyClass myObject = Applib.ApplicationCache.Get(key);



Remove(string)

Description

This function removes the entry with the specified key from the application cache.

Return Type : void

Static : Yes

Namespace : AppLib.ApplicationCache

Parameters

Name Data Type Description
key string The key of the element to remove

Syntax

Applib.ApplicationCache.Remove(key);



Set(string, Object)

Description

This function sets the specified key and value to the application cache.

Return Type : void

Static : Yes

Namespace : AppLib.ApplicationCache

Parameters

Name Data Type Description
key string The key of the element to add
value Object The value of the element to add

Syntax

Domain.MyClass object;
Applib.ApplicationCache.Set("myKey",object);



AddIfNotExists(string, Object)

Description

This function adds a new value to the application cache with the specific key if the key isn't already defined, and it returns true; otherwise, it not set it and returns false.

Return Type : bool

Static : Yes

Namespace : AppLib.ApplicationCache

Parameters

Name Data Type Description
key string The key of the element to add
value Object The value of the element to add

Syntax

Domain.MyClass object;
var isSucceed = Applib.ApplicationCache.AddIfNotExists("myKey", object);



Error


Description

Error or Exception thrown by the Application

Properties

Name Data Type Static Readonly Description
Message string No No Description of the error or exception
StackTrace string No No Trace of the executed methods that led to the error occurence

Methods

GetFriendlyMessage()

Description

Returns the last error in a user friendly format.

Return Type : string

Static : No

Namespace : AppLib.Error

Syntax

string friendlyErrorMessage = AppLib.Application.GetLastError().GetFriendlyMessage();



MessageType


Description

Enumeration holding all the available Message Types.

Properties

Name Data Type Static Readonly Description
Success string No No Message presenting a successful outcome
Error string No No Message presenting an error that has occured
Warning string No No Message presenting a warning
Info string No No Informational message