private static IList <IDirective> CreateBodyDirectives(BodyTemplate2 template)
        {
            var directive = new DisplayRenderTemplateDirective();

            directive.Template = template;
            var items = new List <IDirective>();

            items.Add(directive);

            return(items);
        }
        public void Create_BodyTemplate2()
        {
            var actual = new BodyTemplate2
            {
                Token      = "A2079",
                BackButton = BackButtonVisibility.Visible,
                Image      = new TemplateImage
                {
                    ContentDescription = "My favorite car",
                    Sources            = new List <ImageSource>
                    {
                        new ImageSource {
                            Url = "https://www.example.com/my-favorite-car.png"
                        }
                    }
                },
                BackgroundImage = new TemplateImage
                {
                    ContentDescription = "Textured grey background",
                    Sources            = new List <ImageSource>
                    {
                        new ImageSource {
                            Url = "https://www.example.com/background-image1.png"
                        }
                    }
                },


                Title   = "My Favorite Car",
                Content = new TemplateContent
                {
                    Primary = new TemplateText {
                        Text = "See my favorite car", Type = TextType.Plain
                    },
                    Secondary = new TemplateText {
                        Text = "Custom-painted", Type = TextType.Plain
                    },
                    Tertiary = new TemplateText {
                        Text = "By me!", Type = TextType.Plain
                    }
                }
            };

            Assert.True(CompareJson(actual, "TemplateBodyTemplate2.json"));
        }
        private static ResponseBody CreateBodyResponseBody(SkillRequest request, BodyTemplate2 template, IOutputSpeech speech, ICard card, bool?shouldEndSession)
        {
            var hasDisplay = request.HasDisplay();
            var body       = new ResponseBody
            {
                OutputSpeech     = speech,
                Card             = card,
                Reprompt         = CreateReprompt(),
                ShouldEndSession = shouldEndSession
            };

            if (hasDisplay)
            {
                body.Directives = CreateBodyDirectives(template);
            }

            return(body);
        }
 public static SkillResponse CreateBodySkillResponse(SkillRequest request, SkillTypen typ, BodyTemplate2 template, IOutputSpeech speech, ICard card, DateTime date, bool?shouldEndSession)
 {
     return(new SkillResponse
     {
         Version = "1.0",
         Response = CreateBodyResponseBody(request, template, speech, card, shouldEndSession),
         SessionAttributes = CreateSessionAttributes(request, typ, -1, null, date)
     });
 }