public void MultipleComparisonsOnSameField()
        {
            var qe = new QueryExpression("contact");

            qe.ColumnSet = new ColumnSet("fullname", "lastname");
            qe.Criteria.AddCondition("modifiedon", ConditionOperator.GreaterThan, "2020-01-01");
            qe.Criteria.AddCondition(new ConditionExpression("modifiedon", ConditionOperator.GreaterThan, true, "createdon"));

            var converted = QueryExpressionCodeGenerator.GetCSharpQueryExpression(qe);

            var expected = @"// Define Condition Values
var query_modifiedon = ""2020-01-01"";
var query_modifiedon1 = ""createdon"";

// Instantiate QueryExpression query
var query = new QueryExpression(""contact"");

// Add columns to query.ColumnSet
query.ColumnSet.AddColumns(""fullname"", ""lastname"");

// Define filter query.Criteria
query.Criteria.AddCondition(""modifiedon"", ConditionOperator.GreaterThan, query_modifiedon);
query.Criteria.AddCondition(""modifiedon"", ConditionOperator.GreaterThan, true, query_modifiedon1);
";

            Assert.AreEqual(expected, converted);
        }
Exemple #2
0
        private string GetQueryExpressionCode()
        {
            var code = string.Empty;

            try
            {
                var QEx = dockControlBuilder.GetQueryExpression(null, false);
                code = QueryExpressionCodeGenerator.GetCSharpQueryExpression(QEx);
            }
            catch (FetchIsAggregateException ex)
            {
                code = "This FetchXML is not possible to convert to QueryExpression in the current version of the SDK.\n\n" + ex.Message;
            }
            catch (Exception ex)
            {
                code = "Failed to generate C# QueryExpression code.\n\n" + ex.Message;
            }
            return(code);
        }