private List <Attachment> CatalogCarousel(Models.Catalog.Catalog catalog, bool isAuthenticated, bool isMarkdownSupported)
        {
            var attachments = new List <Attachment>();

            foreach (var item in catalog.Data)
            {
                var productThumbnail = BuildCatalogItemCard(item, isAuthenticated, isMarkdownSupported);

                attachments.Add(productThumbnail.ToAttachment());
            }

            return(attachments);
        }
 private string PostCatalog()
 {
     try
     {
         var model = new Models.Catalog.Catalog()
         {
             DefaultCurrency = "usd",
             DefaultLanguage = "en",
             EndDate         = DateTime.UtcNow.AddYears(1),
             IsActive        = true,
             IsPrimary       = true,
             Languages       = new List <CatalogLanguage>()
             {
                 new CatalogLanguage()
                 {
                     Catalog      = "Test Post",
                     LanguageCode = "en",
                     UriSegment   = "Test Post"
                 }
             },
             Name       = "Test Post",
             StartDate  = DateTime.UtcNow,
             WeightBase = "lbs"
         };
         var json   = JsonConvert.SerializeObject(model);
         var xml    = SerializeObjectToXml(typeof(Models.Catalog.Catalog), model);
         var result = Post("/episerverapi/commerce/catalogs", new StringContent(json, Encoding.UTF8, "application/json")).Result.Content.ReadAsStringAsync().Result;
         WriteTextFile(Path.Combine(_catalogOutputPath, "PostJson.txt"), result);
         result = Post("/episerverapi/commerce/catalogs", new StringContent(xml, Encoding.UTF8, "text/xml")).Result.Content.ReadAsStringAsync().Result;
         WriteTextFile(Path.Combine(_catalogOutputPath, "PostXml.xml"), result);
         return("Post catalog complete.....");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }