private bool IsAdvancedTwitterQuery()

in Source/Actions/Microsoft.Deployment.Actions.AzureCustom/PowerApp/ConfigurePowerAppTables.cs [156:208]


        private bool IsAdvancedTwitterQuery(string query)
        {
            bool isAdvanced = false;

            bool isOpenBracket = false;
            bool isOpenQuote = false;

            for (int i = 0; i < query.Length && !isAdvanced; i++)
            {
                switch (query[i])
                {
                    case '"':
                        isOpenQuote = !isOpenQuote;
                        break;
                    case ':':
                        isAdvanced = !isOpenQuote;
                        break;
                    case '(':
                        if (!isOpenQuote)
                        {
                            if (isOpenBracket)
                            {
                                isAdvanced = true;
                            }
                            else
                            {
                                isOpenBracket = true;
                            }
                        }
                        break;
                    case ')':
                        if (!isOpenQuote)
                        {
                            if (isOpenBracket)
                            {
                                isOpenBracket = false;
                            }
                            else
                            {
                                isAdvanced = true;
                            }
                        }
                        break;
                    case 'O':
                        isAdvanced = !isOpenQuote && i < query.Length - 1 && query[i + 1] == 'R' && isOpenBracket;
                        break;
                    default:
                        break;
                }
            }

            return isAdvanced;
        }