public static SearchWaterMarkTemplateResponse Unmarshall(UnmarshallerContext context)
        {
            SearchWaterMarkTemplateResponse searchWaterMarkTemplateResponse = new SearchWaterMarkTemplateResponse()
            {
                HttpResponse = context.HttpResponse,
                RequestId    = context.StringValue("SearchWaterMarkTemplate.RequestId"),
                TotalCount   = context.LongValue("SearchWaterMarkTemplate.TotalCount"),
                PageNumber   = context.LongValue("SearchWaterMarkTemplate.PageNumber"),
                PageSize     = context.LongValue("SearchWaterMarkTemplate.PageSize")
            };
            List <SearchWaterMarkTemplateResponse.WaterMarkTemplate> waterMarkTemplateList = new List <SearchWaterMarkTemplateResponse.WaterMarkTemplate>();

            for (int i = 0; i < context.Length("SearchWaterMarkTemplate.WaterMarkTemplateList.Length"); i++)
            {
                SearchWaterMarkTemplateResponse.WaterMarkTemplate waterMarkTemplate = new SearchWaterMarkTemplateResponse.WaterMarkTemplate()
                {
                    Id       = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Id"),
                    Name     = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Name"),
                    Width    = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Width"),
                    Height   = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Height"),
                    Dx       = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Dx"),
                    Dy       = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Dy"),
                    ReferPos = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].ReferPos"),
                    Type     = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].Type"),
                    State    = context.StringValue($"SearchWaterMarkTemplate.WaterMarkTemplateList[{i}].State")
                };
                waterMarkTemplateList.Add(waterMarkTemplate);
            }
            searchWaterMarkTemplateResponse.WaterMarkTemplateList = waterMarkTemplateList;

            return(searchWaterMarkTemplateResponse);
        }
        public static SearchWaterMarkTemplateResponse Unmarshall(UnmarshallerContext context)
        {
            SearchWaterMarkTemplateResponse searchWaterMarkTemplateResponse = new SearchWaterMarkTemplateResponse();

            searchWaterMarkTemplateResponse.HttpResponse = context.HttpResponse;
            searchWaterMarkTemplateResponse.RequestId    = context.StringValue("SearchWaterMarkTemplate.RequestId");
            searchWaterMarkTemplateResponse.TotalCount   = context.LongValue("SearchWaterMarkTemplate.TotalCount");
            searchWaterMarkTemplateResponse.PageNumber   = context.LongValue("SearchWaterMarkTemplate.PageNumber");
            searchWaterMarkTemplateResponse.PageSize     = context.LongValue("SearchWaterMarkTemplate.PageSize");

            List <SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate> searchWaterMarkTemplateResponse_waterMarkTemplateList = new List <SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate>();

            for (int i = 0; i < context.Length("SearchWaterMarkTemplate.WaterMarkTemplateList.Length"); i++)
            {
                SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate waterMarkTemplate = new SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate();
                waterMarkTemplate.Id       = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Id");
                waterMarkTemplate.Name     = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Name");
                waterMarkTemplate.Width    = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Width");
                waterMarkTemplate.Height   = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Height");
                waterMarkTemplate.Dx       = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Dx");
                waterMarkTemplate.Dy       = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Dy");
                waterMarkTemplate.ReferPos = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].ReferPos");
                waterMarkTemplate.Type     = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Type");
                waterMarkTemplate.State    = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].State");

                SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate.SearchWaterMarkTemplate_Timeline timeline = new SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate.SearchWaterMarkTemplate_Timeline();
                timeline.Start             = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Timeline.Start");
                timeline.Duration          = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].Timeline.Duration");
                waterMarkTemplate.Timeline = timeline;

                SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate.SearchWaterMarkTemplate_RatioRefer ratioRefer = new SearchWaterMarkTemplateResponse.SearchWaterMarkTemplate_WaterMarkTemplate.SearchWaterMarkTemplate_RatioRefer();
                ratioRefer.Dx                = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].RatioRefer.Dx");
                ratioRefer.Dy                = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].RatioRefer.Dy");
                ratioRefer.Width             = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].RatioRefer.Width");
                ratioRefer.Height            = context.StringValue("SearchWaterMarkTemplate.WaterMarkTemplateList[" + i + "].RatioRefer.Height");
                waterMarkTemplate.RatioRefer = ratioRefer;

                searchWaterMarkTemplateResponse_waterMarkTemplateList.Add(waterMarkTemplate);
            }
            searchWaterMarkTemplateResponse.WaterMarkTemplateList = searchWaterMarkTemplateResponse_waterMarkTemplateList;

            return(searchWaterMarkTemplateResponse);
        }