public static bool Permit <T, TInput>(this IAcSession user, FunctionState function, IManagedObject currentEntity)
            where T : IManagedPropertyValues
            where TInput : IManagedPropertyValues
        {
            var securityService = user.AcDomain.RetrieveRequiredService <ISecurityService>();

            return(securityService.Permit(user, function, currentEntity));
        }
        public static bool Permit(this IAcSession user, FunctionState function, ManagedObject currentEntity)
        {
            var securityService = user.AcDomain.RetrieveRequiredService <ISecurityService>();

            return(securityService.Permit(user, function, currentEntity));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="function"></param>
        /// <returns></returns>
        public static bool Permit(this IAcSession user, FunctionState function)
        {
            var securityService = user.AcDomain.RetrieveRequiredService <ISecurityService>();

            return(securityService.Permit(user, function, null));
        }