/// <summary>
        /// Permanently deletes a user from the database
        /// </summary>
        /// <param name="username">Username to delete</param>
        /// <param name="deleteAllRelatedData">Should or shouldn't delete related user data</param>
        /// <returns>True if successful. Defaults to false.</returns>
        public override bool DeleteUser(string username, bool deleteAllRelatedData)
        {
            bool ret;

            try
            {
                Snitz.IDAL.IMember dal = Snitz.IDAL.Factory <IDAL.IMember> .Create("Member");

                MemberInfo m = dal.GetByName(username).SingleOrDefault();
                dal.Delete(m);

                IRoles roleDal = Factory <IRoles> .Create("Role");

                roleDal.RemoveUsersFromRoles(new[] { username }, roleDal.GetRolesForUser(username));


                if (deleteAllRelatedData)
                {
                    IMember membershipDal = Factory <IMember> .Create("Member");

                    membershipDal.DeleteProfile(m);
                }
                // Nothing was thrown, so go ahead and return true
                ret = true;
            }
            catch
            {
                // Couldn't find the user or was not able to delete
                ret = false;
            }

            return(ret);
        }