public void ConvertSoqlExpressionReturnsConvertedApexSoqlExpression()
        {
            var text = "List<Contact> contacts = Soql.Query<Contact>(\"SELECT Id, Email, Phone FROM Contact\");";
            var expr = GenericExpressionHelper.ConvertSoqlQueriesToApex(text);

            Assert.AreEqual("List<Contact> contacts = [SELECT Id, Email, Phone FROM Contact];", expr);

            text = @"List<Contact> contacts = Soql.Query<Contact>(""SELECT Id, Email, Phone FROM Contact WHERE Email = :email"", email);";
            expr = GenericExpressionHelper.ConvertSoqlQueriesToApex(text);
            Assert.AreEqual("List<Contact> contacts = [SELECT Id, Email, Phone FROM Contact WHERE Email = :email];", expr);
        }
Пример #2
0
        private ApexExpressionSyntax ConvertExpression(ExpressionSyntax expression)
        {
            if (expression == null)
            {
                return(null);
            }

            var apexExpr = expression.ToString();

            apexExpr = GenericExpressionHelper.ConvertSoqlQueriesToApex(apexExpr);
            apexExpr = GenericExpressionHelper.ConvertSoqlStatementsToApex(apexExpr);
            apexExpr = GenericExpressionHelper.ConvertTypeofExpressionsToApex(apexExpr);
            apexExpr = GenericExpressionHelper.ConvertCSharpIsTypeExpressionToApex(apexExpr);
            apexExpr = GenericExpressionHelper.ConvertCSharpTypesToApex(apexExpr);
            apexExpr = apexExpr.Replace("\"", "'");
            return(new ApexExpressionSyntax(apexExpr));
        }