void GenerateRequestMarshaller(Operation operation)
{
bool hasRequest = operation.RequestStructure != null;
bool normalizeMarshallers;
BaseRequestMarshaller generator;
GetRequestMarshaller(out generator, out normalizeMarshallers);
generator.Operation = operation;
this.ExecuteGenerator(generator, operation.Name + "RequestMarshaller.cs", "Model.Internal.MarshallTransformations");
if (hasRequest)
this._processedMarshallers.Add(operation.RequestStructure.Name);
if (normalizeMarshallers && hasRequest)
{
var lookup = new NestedStructureLookup();
lookup.SearchForNestedStructures(operation.RequestStructure);
foreach (var nestedStructure in lookup.NestedStructures)
{
// Skip structure marshallers that have already been generated for the parent model
if (IsShapePresentInParentModel(this.Configuration, nestedStructure.Name))
continue;
if (!this._processedMarshallers.Contains(nestedStructure.Name))
{
var structureGenerator = GetStructureMarshaller();
structureGenerator.Structure = nestedStructure;
this.ExecuteGenerator(structureGenerator, nestedStructure.Name + "Marshaller.cs", "Model.Internal.MarshallTransformations");
//this.processedUnmarshallers.Add(nestedStructure.Name);
}
}
}
}