public static List <string> GetMissingFields(SoqlAst soqlAst) { var missingFields = GetObjectInfo(soqlAst.ObjectName).FieldNames.Except(soqlAst.FieldNames).ToList(); Console.WriteLine(String.Join(", ", missingFields.ToArray())); return(missingFields); }
public static SoqlAst ParseSoql(string soql) { var ast = new SoqlAst { ObjectName = "Contact" }; ast.FieldNames.Add("Id"); ast.FieldNames.Add("Email"); return(ast); }
public static bool ValidateSoql(SoqlAst soqlAst) { var objectInfo = GetObjectInfo(soqlAst.ObjectName); if (objectInfo == null) { Console.WriteLine("Bad Object Name " + soqlAst.ObjectName); return(false); } else { foreach (var soqlAstFieldName in soqlAst.FieldNames) { if (objectInfo.FieldNames.Contains(soqlAstFieldName) == false) { Console.WriteLine("Bad " + soqlAstFieldName); return(false); } } } return(true); }