// Called directly by GetCharacterList() webservice
        public static bool GetAccountCharacterList(
            string connection_string,
            int account_id,
            out CharacterState[] character_list,
            out string result)
        {
            bool success = true;

            character_list = null;
            result         = SuccessMessages.GENERAL_SUCCESS;

            using (AsyncRPGDataContext context = new AsyncRPGDataContext(connection_string))
            {
                try
                {
                    CharacterQueries.GetAccountCharacterList(context, account_id, out character_list);
                }
                catch (System.Exception)
                {
                    success = false;
                    result  = ErrorMessages.DB_ERROR + "(Failed to get account character list state)";
                }
            }

            return(success);
        }
        // Called directly by GetCharacterFullState() webservice
        public static bool GetFullCharacterState(
            string connection_string,
            int character_id,
            out CharacterState character_state,
            out string result)
        {
            bool success = true;

            result = SuccessMessages.GENERAL_SUCCESS;

            character_state = new CharacterState();

            using (AsyncRPGDataContext context = new AsyncRPGDataContext(connection_string))
            {
                try
                {
                    character_state = CharacterQueries.GetFullCharacterState(context, character_id);
                }
                catch (System.Exception)
                {
                    success = false;
                    result  = ErrorMessages.DB_ERROR + "(Failed to get full character state)";
                }
            }

            return(success);
        }