protected MovilizerRequest ComposeRequest()
{
// process outbound pools
ProcessOutboundPool(_masterdataPoolUpdateTemplates);
ProcessOutboundPool(_documentPoolUpdateTemplates);
// process outbound queue
ProcessOutboundQueue(_outQueue);
// create request
MovilizerRequest request = new MovilizerRequest();
InitializeMoveletRequest(request);
// assign parameters
request.moveletSet = _moveletSets.ToArray();
request.moveletAssignment = _moveletAssignments.ToArray();
request.moveletDelete = _moveletDeletes.ToArray();
request.masterdataPoolUpdate = _masterdataPoolUpdate.ToArray();
request.moveletAssignmentDelete = _moveletDeleteAssignments.ToArray();
request.documentPoolUpdate = _documentPoolUpdate.ToArray();
request.participantReset = _ParticipantReset.ToArray();
request.participantConfiguration = _ParticipantConfigurations.ToArray();
// clear temps
_moveletSets.Clear();
_moveletAssignments.Clear();
_moveletDeletes.Clear();
_masterdataPoolUpdate.Clear();
_documentPoolUpdate.Clear();
_moveletDeleteAssignments.Clear();
_ParticipantReset.Clear();
_ParticipantConfigurations.Clear();
// clear pools
_masterdataPoolUpdateTemplates.Clear();
_documentPoolUpdateTemplates.Clear();
return request;
}