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); }
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); }