Hi, I'm using ExecuteMultipleRequest to update some records through custom workflow, but it does not udpate all records, i.e. update only 100/1000 records only. The workflow stop without any error messages. I'm using the following code.
ExecuteMultipleRequest requestWithResults = new ExecuteMultipleRequest();
private void UpdateEmployeeNumber(IOrganizationService crmService, ITracingService traceService, CodeActivityContext executionContext, int intPageNumber, int intFetchCount, string strADPath, string strUserLists)
{
ExecuteMultipleResponse responseWithResults = null;
var fetchXml = Helper.CreateXml(strUserLists, null, intPageNumber, intFetchCount);
var fetchExpression = new FetchExpression(fetchXml);
requestWithResults.Settings = new ExecuteMultipleSettings()
{
ContinueOnError = true,
ReturnResponses = true
};
var entityCollection = crmService.RetrieveMultiple(fetchExpression);
requestWithResults.Requests = new OrganizationRequestCollection();
foreach (Entity systemuser in entityCollection.Entities)
{
FindEmployeeNumber(systemuser, strADPath, traceService);
}
if (requestWithResults.Requests.Count > 0)
{
crmService.Run(traceService, () =>
{
responseWithResults = (ExecuteMultipleResponse)crmService.Execute(requestWithResults);
});
}
if (entityCollection.MoreRecords)
UpdateEmployeeNumber(crmService, traceService, executionContext, ++intPageNumber, intFetchCount, strADPath, strUserLists);
}