private static void UnmarshallResult(XmlUnmarshallerContext context, GetTemplateSummaryResponse response)
{
int originalDepth = context.CurrentDepth;
int targetDepth = originalDepth + 1;
if (context.IsStartOfDocument)
targetDepth += 2;
while (context.ReadAtDepth(originalDepth))
{
if (context.IsStartElement || context.IsAttribute)
{
if (context.TestExpression("Capabilities/member", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
var item = unmarshaller.Unmarshall(context);
response.Capabilities.Add(item);
continue;
}
if (context.TestExpression("CapabilitiesReason", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
response.CapabilitiesReason = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("DeclaredTransforms/member", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
var item = unmarshaller.Unmarshall(context);
response.DeclaredTransforms.Add(item);
continue;
}
if (context.TestExpression("Description", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
response.Description = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("Metadata", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
response.Metadata = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("Parameters/member", targetDepth))
{
var unmarshaller = ParameterDeclarationUnmarshaller.Instance;
var item = unmarshaller.Unmarshall(context);
response.Parameters.Add(item);
continue;
}
if (context.TestExpression("ResourceTypes/member", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
var item = unmarshaller.Unmarshall(context);
response.ResourceTypes.Add(item);
continue;
}
if (context.TestExpression("Version", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
response.Version = unmarshaller.Unmarshall(context);
continue;
}
}
}
return;
}