public static ButtonsTemplate ToButtonsTemplate(this IButtonsTemplate self) { if (self.Text == null) { throw new InvalidOperationException("The text cannot be null."); } ButtonsTemplate buttonsTemplate = self as ButtonsTemplate; if (buttonsTemplate == null) { buttonsTemplate = new ButtonsTemplate() { ThumbnailUrl = self.ThumbnailUrl, Title = self.Title, Text = self.Text, }; } if (self.Actions == null) { throw new InvalidOperationException("The actions cannot be null."); } buttonsTemplate.Actions = self.Actions.ToTemplateAction().ToArray(); return(buttonsTemplate); }
internal static ButtonsTemplate Convert(IButtonsTemplate template) { if (template.Text == null) { throw new InvalidOperationException("The text cannot be null."); } if (!(template is ButtonsTemplate buttonsTemplate)) { buttonsTemplate = new ButtonsTemplate() { ThumbnailUrl = template.ThumbnailUrl, Title = template.Title, Text = template.Text, }; } if (template.Actions == null) { throw new InvalidOperationException("The actions cannot be null."); } buttonsTemplate.Actions = TemplateAction.Convert(template.Actions); return(buttonsTemplate); }
private static ITemplate Convert(ITemplate template) { switch (template) { case IButtonsTemplate buttonsTemplate: return(ButtonsTemplate.Convert(buttonsTemplate)); case IConfirmTemplate confirmTemplate: return(ConfirmTemplate.Convert(confirmTemplate)); case ICarouselTemplate carouselTemplate: return(CarouselTemplate.Convert(carouselTemplate)); case IImageCarouselTemplate imageCarouselTemplate: return(ImageCarouselTemplate.Convert(imageCarouselTemplate)); default: throw new NotSupportedException("Invalid template type."); } }