public static OfferingOrderStepUnmarshaller GetInstance() { if (instance == null) { instance = new OfferingOrderStepUnmarshaller(); } return(instance); }
public DescribeOfferingDetailResult Unmarshall(JsonUnmarshallerContext context) { DescribeOfferingDetailResult describeOfferingDetailResult = new DescribeOfferingDetailResult(); describeOfferingDetailResult.ConnectionCosts = null; describeOfferingDetailResult.OrderSteps = null; int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; while (context.Read()) { if ((context.IsKey) && (context.CurrentDepth == targetDepth)) { context.Read(); context.Read(); if (context.TestExpression("OfferingId", targetDepth)) { describeOfferingDetailResult.OfferingId = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("Region", targetDepth)) { describeOfferingDetailResult.Region = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("Location", targetDepth)) { describeOfferingDetailResult.Location = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("OfferingName", targetDepth)) { describeOfferingDetailResult.OfferingName = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("Description", targetDepth)) { describeOfferingDetailResult.Description = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("Bandwidth", targetDepth)) { describeOfferingDetailResult.Bandwidth = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("ConnectionCosts", targetDepth)) { describeOfferingDetailResult.ConnectionCosts = new List <ConnectionCost>(); ConnectionCostUnmarshaller unmarshaller = ConnectionCostUnmarshaller.GetInstance(); while (context.Read()) { if ((context.IsArrayElement) && (context.CurrentDepth == targetDepth)) { describeOfferingDetailResult.ConnectionCosts.Add(unmarshaller.Unmarshall(context)); } else if (context.IsEndArray) { break; } } continue; } if (context.TestExpression("OrderSteps", targetDepth)) { describeOfferingDetailResult.OrderSteps = new List <OfferingOrderStep>(); OfferingOrderStepUnmarshaller unmarshaller = OfferingOrderStepUnmarshaller.GetInstance(); while (context.Read()) { if ((context.IsArrayElement) && (context.CurrentDepth == targetDepth)) { describeOfferingDetailResult.OrderSteps.Add(unmarshaller.Unmarshall(context)); } else if (context.IsEndArray) { break; } } continue; } } else if (context.IsEndElement && context.CurrentDepth <= originalDepth) { return(describeOfferingDetailResult); } } return(describeOfferingDetailResult); }