protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["NewsID"] != null) { string newsid = Convert.ToString(Request.QueryString["NewsID"]); var news = GetNewsFromAmazon.GetNewsFromCache().Where(n => n.NewsID == Guid.Parse(newsid)).FirstOrDefault(); var comments = GetNewsFromAmazon.GetCommentsFromCache(Settings.Default.DomainNameComment).Where(n => n.NewsID == Convert.ToString(newsid)).ToList(); lstComments.DataSource = comments; lstComments.DataBind(); LoadSession(comments); if (news != null) { lstRelatedNews.DataSource = GetNewsFromAmazon.GetNewsFromCache().Where(p => p.Tag.Contains(news.Tag)).Take(5); lstRelatedNews.DataBind(); } divNewsItem.InnerHtml = Server.HtmlDecode(news.NewsItem); lblHeadline.Text = news.NewsHeadline; hdfNewsID.Value = Convert.ToString(news.NewsID); lblNewsAdded.Text = String.Format("{0:dddd, MMMM d, yyyy H:mm:ss}", news.NewsAdded); lblNumberComment.Text = Convert.ToString(news.CommentCount) + " Comments"; lblSource.Text = news.Source; NumberViews number=new NumberViews(); number.NewsID = Convert.ToString(news.NewsID); number.Views = news.Views +1; number.ViewsID = news.ViewID; GetNewsFromAmazon.SaveViews(Settings.Default.NumberView, number); } } }
public static void SaveViews(string domainName, NumberViews numberViews) { PutAttributesRequest putViewsAttrRequest = new PutAttributesRequest() .WithDomainName(domainName) .WithItemName(Convert.ToString(numberViews.ViewsID)); putViewsAttrRequest. WithAttribute(new ReplaceableAttribute { Name = "ViewsID", Value = Convert.ToString(numberViews.ViewsID), Replace = false }, new ReplaceableAttribute { Name = "NewsID", Value = numberViews.NewsID, Replace = false }, new ReplaceableAttribute { Name = "Views", Value = Convert.ToString(numberViews.Views), Replace = true }); sdbClient.PutAttributes(putViewsAttrRequest); }
public static List<NumberViews> GetNumberViews(string domainName) { List<NumberViews> numberViewses = new List<NumberViews>(); NumberViews numberViews; String selectExpression = "Select * From " + domainName + " LIMIT 1000"; SelectRequest selectRequestAction = new SelectRequest().WithSelectExpression(selectExpression); SelectResponse selectResponse = sdbClient.Select(selectRequestAction); if (selectResponse.IsSetSelectResult()) { SelectResult selectResult = selectResponse.SelectResult; foreach (Item item in selectResult.Item) { numberViews = new NumberViews(); foreach (Amazon.SimpleDB.Model.Attribute attribute in item.Attribute) { if (attribute.IsSetName()) { string name = attribute.Name; } if (attribute.IsSetValue()) { switch (attribute.Name) { case "ViewsID": numberViews.ViewsID = Guid.Parse(attribute.Value); break; case "NewsID": numberViews.NewsID = attribute.Value; break; case "Views": numberViews.Views = Convert.ToInt32(attribute.Value); break; } } } } } return numberViewses; }