Beispiel #1
0
        /// <summary>
        /// Delete a user.
        /// </summary>
        /// <param name="username">User name.</param>
        /// <param name="deleteAllRelatedData">Whether to delete all related data.</param>
        /// <returns>T/F if the user was deleted.</returns>
        public override bool DeleteUser(string username, bool deleteAllRelatedData)
        {
            IObjectScope objScope = ORM.GetNewObjectScope();

            objScope.Transaction.Begin();
            Employee e = ResolveEmployeeByName(objScope, username);

            if (deleteAllRelatedData)
            {
                //Process commands to delete all data for the user in the database.
            }
            objScope.Remove(e);
            objScope.Transaction.Commit();
            return(true);
        }
Beispiel #2
0
        /// <summary>
        /// Delete profiles for an array of user names.
        /// </summary>
        /// <param name="userNames">Array of user names.</param>
        /// <returns>Number of profiles deleted.</returns>
        public override int DeleteProfiles(string[] userNames)
        {
            IObjectScope objScope = ORM.GetNewObjectScope();
            int          deleted  = 0;

            objScope.Transaction.Begin();
            foreach (string userName in userNames)
            {
                string          shotUserName = GetUserName(userName);
                EmployeeProfile ep           = ResolveEmployeeProfileByName(objScope, shotUserName);
                if (ep != null)
                {
                    objScope.Remove(ep);
                    deleted++;
                }
            }
            objScope.Transaction.Commit();
            return(deleted);
        }
Beispiel #3
0
        /// <summary>
        /// Deletes profiles that have been inactive since the specified date.
        /// </summary>
        /// <param name="authenticationOption">Current authentication option setting.</param>
        /// <param name="userInactiveSinceDate">Inactivity date for deletion.</param>
        /// <returns>Number of records deleted.</returns>
        public override int DeleteInactiveProfiles(System.Web.Profile.ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate)
        {
            IObjectScope objScope = ORM.GetNewObjectScope();

            objScope.Transaction.Begin();

            int          deleteCounter         = 0;
            const string queryInactiveProfiles =
                @"SELECT * FROM EmployeeProfileExtent AS o WHERE o.Employee.LastActivityDate <= $1";
            IQuery oqlQuery = objScope.GetOqlQuery(queryInactiveProfiles);

            using (IQueryResult result = oqlQuery.Execute(userInactiveSinceDate))
            {
                foreach (object p in result)
                {
                    objScope.Remove(p);
                    deleteCounter++;
                }
            }
            objScope.Transaction.Commit();
            return(deleteCounter);
        }
Beispiel #4
0
        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            IObjectScope objScope = ORM.GetNewObjectScope();
            Role         role     = ResolveRoleByName(objScope, roleName);

            if (null == role)
            {
                throw new ProviderException(String.Format("Role: {0} is not exist", roleName));
            }

            if (role.Employees.Count > 0 && true == throwOnPopulatedRole)
            {
                throw new ProviderException(String.Format("Role: {0} still has employee assigned", roleName));
            }
            else
            {
                objScope.Transaction.Begin();
                objScope.Remove(role);
                objScope.Transaction.Commit();
                return(true);
            }
        }