Пример #1
0
        public static void SaveNewsStory(string domainName, string bucketName, List<NewsComponents> newsItems, AmazonSimpleDBClient sdbClient, AmazonS3Client s3Client)
        {
            //BucketHelper.CheckForBucket(itemName, s3Client);

            //foreach (var stream in newsItems.Images)
            //{
            //    PutObjectRequest putObjectRequest = new PutObjectRequest();
            //    putObjectRequest.WithBucketName(bucketName);
            //    putObjectRequest.CannedACL = S3CannedACL.PublicRead;
            //    putObjectRequest.Key = stream.fileName;
            //    putObjectRequest.InputStream = stream.photostreams;
            //    S3Response response = s3Client.PutObject(putObjectRequest);
            //    response.Dispose();
            //}
            DomainHelper.CheckForDomain(domainName, sdbClient);
            BatchPutAttributesRequest batchPutAttributesRequest = new BatchPutAttributesRequest();
            batchPutAttributesRequest.WithDomainName(domainName);
            ReplaceableItem replaceableItem;
            foreach (var list in newsItems)
            {
                replaceableItem = new ReplaceableItem();

                replaceableItem.WithItemName(Convert.ToString(list.NewsID));
                var list1 = new List<ReplaceableAttribute>{
                    new ReplaceableAttribute
                    {
                        Name = "NewsID",
                        Value = Convert.ToString(list.NewsID),
                        Replace = false
                    },
                    new ReplaceableAttribute
                    {
                        Name = "Source",
                        Value = list.Source,
                        Replace = false
                    },
                    new ReplaceableAttribute
                    {
                        Name = "Section",
                        Value = list.Section,
                        Replace = false
                    },
                    new ReplaceableAttribute
                    {
                        Name = "NewsItem",
                        Value = list.NewsItem,
                        Replace = false
                    },
                    new ReplaceableAttribute
                    {
                        Name = "NewsHeadline",
                        Value = list.NewsHeadline,
                        Replace = true
                    },
                    new ReplaceableAttribute
                    {
                        Name = "NewsAdded",
                        Value = Convert.ToString(list.NewsAdded),
                        Replace = true
                    },
                     new ReplaceableAttribute
                     {
                         Name = "Photos",
                         Value = list.NewsPhotoUrl,
                         Replace = true
                     }
                     ,
                     new ReplaceableAttribute
                     {
                         Name = "Summary",
                         Value = list.Summary,
                         Replace = true
                     },
                     new ReplaceableAttribute
                     {
                         Name = "Category",
                         Value = list.Category,
                         Replace = true
                     }
                     ,
                     new ReplaceableAttribute
                     {
                         Name = "TimeStamp",
                         Value = Convert.ToString(list.TimeStamp),
                         Replace = true
                    }
                };
                replaceableItem.WithAttribute(list1.ToArray());
                batchPutAttributesRequest.Item.Add(replaceableItem);
            }

            //PutAttributesRequest  putAttrRequest = new PutAttributesRequest()
            //    .WithDomainName(domainName)
            //    .WithItemName(Convert.ToString(newsItems.NewsID));

            // sdbClient.PutAttributes(putAttrRequest);
            sdbClient.BatchPutAttributes(batchPutAttributesRequest);
        }