public DataTable salesforceQueryID(FieldEntry identifier, String sfUserID, String sfUserPwd, String startDate) { Salesforce.Helpers.sForceService.SforceService binding = sfLogin(sfUserID, sfUserPwd); DataTable dtFields = GenerateIDDataTable(); try { QueryResult qr = null; binding.QueryOptionsValue = new Salesforce.Helpers.sForceService.QueryOptions(); binding.QueryOptionsValue.batchSize = 250; binding.QueryOptionsValue.batchSizeSpecified = true; //String soqlQuery = "SELECT CaseNumber FROM Case WHERE CreatedDate > " + startDate + ""T00:00:00Z""; String soqlQuery = "SELECT " + identifier.FieldIdentifier + Constants.SqlCommand.START_DATE + startDate + Constants.SqlCommand.TIME; // Make the query call and get the query results qr = binding.query(soqlQuery); bool done = false; while (!done) { sObject[] records = qr.records; if (records != null) { for (int i = 0; i < records.Length; i++) { Salesforce.Helpers.sForceService.sObject con = qr.records[i]; sObject m = records[i]; string ticket = m.Any[0].InnerText; dtFields.Rows.Add(ticket); } if (qr.done) { done = true; } else { qr = binding.queryMore(qr.queryLocator); } } else { done = true; } } } catch (SoapException e) { Console.WriteLine("An unexpected error has occurred: " + e.Message + " Stack trace: " + e.StackTrace); } return(dtFields); }
public DataTable salesforceQueryData(IEnumerable <FieldEntry> fields, IEnumerable <string> entryIds, String sfUserID, String sfUserPwd, String startDate) { DataTable dt; string controlID = null; string fieldvalue = null; string fieldname = null; dt = new DataTable(); Salesforce.Helpers.sForceService.SforceService binding = sfLogin(sfUserID, sfUserPwd); DataTable dtFields = GenerateIDDataTable(); try { QueryResult qr = null; binding.QueryOptionsValue = new Salesforce.Helpers.sForceService.QueryOptions(); binding.QueryOptionsValue.batchSize = 250; binding.QueryOptionsValue.batchSizeSpecified = true; String soqlQuery = Constants.SqlCommand.SELECT; bool firstentry = true; int countfields = 0; foreach (var field in fields) { if (field.IsIdentifier) { controlID = field.FieldIdentifier; } countfields++; if (firstentry) { soqlQuery += field.FieldIdentifier; firstentry = false; } else { soqlQuery += Constants.SqlCommand.COMMA_SPACE + field.FieldIdentifier; } dt.Columns.Add(new DataColumn((String)field.FieldIdentifier)); } soqlQuery += Constants.SqlCommand.FROM_CASE_WHERE; String soqlQueryID = soqlQuery; bool done = false; foreach (var entryID in entryIds) { soqlQueryID += controlID + Constants.SqlCommand.EQUAL + Constants.SqlCommand.SINGLE_QUOTE + entryID + Constants.SqlCommand.SINGLE_QUOTE; qr = binding.query(soqlQueryID); done = false; while (!done) { sObject[] records = qr.records; if (records != null) { for (int i = 0; i < records.Length; i++) { var row = dt.NewRow(); Salesforce.Helpers.sForceService.sObject con = qr.records[i]; sObject m = records[i]; for (int j = 0; j < countfields; j++) { fieldname = m.Any[j].LocalName; fieldvalue = m.Any[j].InnerText; if (fieldname == Constants.ReferenceObject.OWNERID) { fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.USERGROUP); } else if (fieldname == Constants.ReferenceObject.PARENTID) { fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.CASE); } else if (fieldname == Constants.ReferenceObject.LASTMODIFIED_BY_ID) { fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.USER); } row[fieldname] = fieldvalue; } dt.Rows.Add(row); } if (qr.done) { done = true; soqlQueryID = soqlQuery; } else { qr = binding.queryMore(qr.queryLocator); } } else { done = true; } } } // String soqlQuery = "SELECT CaseNumber FROM Case WHERE Date_Opened__c > '2015-10-08'"; } catch (SoapException e) { Console.WriteLine("An unexpected error has occurred: " + e.Message + " Stack trace: " + e.StackTrace); } return(dt); }