/// <summary>
        /// Get collection of all userActionEntity that comply with certain pattern
        /// </summary>
        /// <param name="propertyName">property of userActionEntity</param>
        /// <param name="expValue">pattern</param>
        /// <param name="loadRelation">true to load the relations</param>
        /// <param name="session">User's session identifier.</param>
        /// <returns>Collection of UserActionEntity</returns>
        /// <exception cref="ArgumentNullException">
        /// if <paramref name="propertyName"/> is null or empty.
        /// <exception cref="ArgumentNullException">
        /// if <paramref name="expValue"/> is null or empty.
        /// </exception>
        /// <exception cref="UtnEmallBusinessLogicException">
        /// If an UtnEmallDataAccessException occurs in DataModel.
        /// </exception>
        public Collection <UserActionEntity> GetUserActionWhere(string propertyName, object expValue, bool loadRelation, OperatorType operatorType, string session)
        {
            bool permited = ValidationService.Instance.ValidatePermission(session, "read", "UserAction");

            if (!permited)
            {
                ExceptionDetail detail = new ExceptionDetail(new UtnEmall.Server.BusinessLogic.UtnEmallPermissionException("The user hasn't permissions to read an entity"));
                throw new FaultException <ExceptionDetail>(detail);
            }

            try
            {
                return(useractionDataAccess.LoadWhere(propertyName, expValue, loadRelation, operatorType));
            }
            catch (UtnEmallDataAccessException utnEmallDataAccessException)
            {
                throw new UtnEmall.Server.BusinessLogic.UtnEmallBusinessLogicException(utnEmallDataAccessException.Message, utnEmallDataAccessException);
            }
        }