public IEnumerable <NewsResponse> GetInfo() { JObject obj = JObject.Parse(Get.GetStr("http://newsapi.org/v2/top-headlines?country=ua&pageSize=10&apiKey=f55b620c90db427fb0aea1c47be944e6")); IList <JToken> results = obj["articles"].Children().ToList(); foreach (JToken result in results) { NewsResponse ns = result.ToObject <NewsResponse>(); yield return(new NewsResponse { title = ns.title, url = ns.url }); } }
/// <summary> /// Gets the news. /// </summary> /// <returns>The news.</returns> /// <param name="source">Source.</param> /// <param name="apikey">Apikey.</param> public async Task <NewsResponse> GetNews(string source, string apikey) { NewsResponse rtn = new NewsResponse(); try { var client = RestService.For <INewsApi>(Constants.UrlNews); rtn = await client.GetNews(source, apikey); } catch (ApiException ax) { Debug.WriteLine("Api error: " + ax.Message); } catch (Exception ex) { Debug.WriteLine("Generic error: " + ex.Message); } return(rtn); }
public async Task <Message> GetCarousel(NewsResponse news, CancellationToken cancellationToken) { var itemList = GetItemList(news); AddLastItem(itemList, Flow.News); var menu = new DocumentCollection() { Items = itemList.ToArray(), Total = itemList.Count, ItemType = DocumentSelect.MediaType }; var menuMessage = new Message() { Content = menu }; return(menuMessage); }
public async Task <IEnumerable <NewsResponse> > SearchNews(string title) { List <NewsResponse> response = new List <NewsResponse>(); var news = await _saUow.GetRepository <News>().Where(x => x.Title == title); foreach (var item in news) { var news_response = new NewsResponse { Id = item.Id, Title = item.Title, Context = item.Context, PublishTime = item.PublishTime }; response.Add(news_response); } return(response); }
public IActionResult Index() { IndexViewModel indexViewModel = new IndexViewModel(); NewsRequest newsRequest = new NewsRequest(); var newsResponse = new NewsResponse(); // Session Check for the user to consume the News API. If already retrieved, Get from session else call the API if (!string.IsNullOrEmpty(HttpContext.Session.GetString("News"))) { newsResponse = JsonConvert.DeserializeObject <NewsResponse>(_session.GetString("News")); } else { newsRequest.queryString = HttpUtility.UrlEncode("greenhouse-gas+climate-change"); newsRequest.language = "en"; newsRequest.sortby = "publishedAt"; try { newsResponse = _newsApi.UpcomingNews(newsRequest); string output = JsonConvert.SerializeObject(newsResponse); _session.SetString("News", output); } catch (Exception ex) { _logger.LogError(ex.StackTrace); } } // If the newsAPI is retrieves, status will be ok if (newsResponse != null && newsResponse.Status.ToLower() == "ok" && newsResponse.Articles != null && newsResponse.Articles.Count() > 0) { indexViewModel.ArticleList = newsResponse.Articles.Select(x => new Models.Article() { Title = x.Title, ImageUrl = x.UrlToImage != null ? x.UrlToImage.OriginalString : string.Empty, PublishedDate = TimeCalculator(DateTime.Now, x.PublishedAt.DateTime), Source = x.Source.Name, Url = x.Url.AbsoluteUri }).ToList(); } return(View(indexViewModel.ArticleList)); }
public AbstractResponse GetResponse(ReplyInfo reply, string openId) { AbstractResponse result; if (reply.MessageType == MessageType.Text) { TextReplyInfo info = reply as TextReplyInfo; TextResponse response = new TextResponse { CreateTime = System.DateTime.Now, Content = info.Text }; if (reply.Keys == "登录") { string str = string.Format("http://{0}/Vshop/Login.aspx?SessionId={1}", System.Web.HttpContext.Current.Request.Url.Host, openId); response.Content = response.Content.Replace("$login$", string.Format("<a href=\"{0}\">一键登录</a>", str)); } result = response; } else { NewsResponse response2 = new NewsResponse { CreateTime = System.DateTime.Now, Articles = new System.Collections.Generic.List <Article>() }; foreach (NewsMsgInfo info2 in (reply as NewsReplyInfo).NewsMsg) { Article item = new Article { Description = info2.Description, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, info2.PicUrl), Title = info2.Title, Url = string.IsNullOrEmpty(info2.Url) ? string.Format("http://{0}/Vshop/ImageTextDetails.aspx?messageId={1}", System.Web.HttpContext.Current.Request.Url.Host, info2.Id) : info2.Url }; response2.Articles.Add(item); } result = response2; } return(result); }
/// <summary> /// Loads the data. /// </summary> /// <returns>The data.</returns> async Task LoadData() { ShowEmpty = true; ShowListView = false; IsBusy = true; NewsClient client = new NewsClient(); NewsResponse news = await client.GetNews(Settings.Source, Constants.ApiKey); if (news != null && news.Status.ToLower() == "ok") { ArticleList = new ObservableCollection <ArticleModel>(news.Articles); if (ArticleList.Count > 0) { ShowEmpty = false; ShowListView = true; } OnPropertyChanged(nameof(ArticleList)); } ChangeLastUpdate(); IsBusy = false; }
private AbstractResponse GetKeyResponse(string key, AbstractRequest request) { System.Collections.Generic.IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Topic); AbstractResponse result; if (replies != null && replies.Count > 0) { foreach (ReplyInfo info in replies) { if (info.Keys == key) { TopicInfo topic = VShopHelper.Gettopic(info.ActivityId); if (topic != null) { NewsResponse response = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article item = new Article { Description = topic.Title, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, topic.IconUrl), Title = topic.Title, Url = string.Format("http://{0}/vshop/Topics.aspx?TopicId={1}", System.Web.HttpContext.Current.Request.Url.Host, topic.TopicId) }; response.Articles.Add(item); result = response; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list2 = ReplyHelper.GetReplies(ReplyType.Vote); if (list2 != null && list2.Count > 0) { foreach (ReplyInfo info2 in list2) { if (info2.Keys == key) { VoteInfo voteById = StoreHelper.GetVoteById((long)info2.ActivityId); if (voteById != null && voteById.IsBackup) { NewsResponse response2 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article2 = new Article { Description = voteById.VoteName, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.ImageUrl), Title = voteById.VoteName, Url = string.Format("http://{0}/vshop/Vote.aspx?voteId={1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.VoteId) }; response2.Articles.Add(article2); result = response2; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list3 = ReplyHelper.GetReplies(ReplyType.Wheel); if (list3 != null && list3.Count > 0) { foreach (ReplyInfo info3 in list3) { if (info3.Keys == key) { LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(info3.ActivityId); if (lotteryActivityInfo != null) { NewsResponse response3 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article3 = new Article { Description = lotteryActivityInfo.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityPic), Title = lotteryActivityInfo.ActivityName, Url = string.Format("http://{0}/vshop/BigWheel.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityId) }; response3.Articles.Add(article3); result = response3; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list4 = ReplyHelper.GetReplies(ReplyType.Scratch); if (list4 != null && list4.Count > 0) { foreach (ReplyInfo info4 in list4) { if (info4.Keys == key) { LotteryActivityInfo info5 = VShopHelper.GetLotteryActivityInfo(info4.ActivityId); if (info5 != null) { NewsResponse response4 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article4 = new Article { Description = info5.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, info5.ActivityPic), Title = info5.ActivityName, Url = string.Format("http://{0}/vshop/Scratch.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, info5.ActivityId) }; response4.Articles.Add(article4); result = response4; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list5 = ReplyHelper.GetReplies(ReplyType.SmashEgg); if (list5 != null && list5.Count > 0) { foreach (ReplyInfo info6 in list5) { if (info6.Keys == key) { LotteryActivityInfo info7 = VShopHelper.GetLotteryActivityInfo(info6.ActivityId); if (info7 != null) { NewsResponse response5 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article5 = new Article { Description = info7.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, info7.ActivityPic), Title = info7.ActivityName, Url = string.Format("http://{0}/vshop/SmashEgg.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, info7.ActivityId) }; response5.Articles.Add(article5); result = response5; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list6 = ReplyHelper.GetReplies(ReplyType.SignUp); if (list6 != null && list6.Count > 0) { foreach (ReplyInfo info8 in list6) { if (info8.Keys == key) { ActivityInfo activity = VShopHelper.GetActivity(info8.ActivityId); if (activity != null) { NewsResponse response6 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article6 = new Article { Description = activity.Description, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, activity.PicUrl), Title = activity.Name, Url = string.Format("http://{0}/vshop/Activity.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, activity.ActivityId) }; response6.Articles.Add(article6); result = response6; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> list7 = ReplyHelper.GetReplies(ReplyType.Ticket); if (list7 != null && list7.Count > 0) { foreach (ReplyInfo info9 in list7) { if (info9.Keys == key) { LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(info9.ActivityId); if (lotteryTicket != null) { NewsResponse response7 = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new System.Collections.Generic.List <Article>() }; Article article7 = new Article { Description = lotteryTicket.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityPic), Title = lotteryTicket.ActivityName, Url = string.Format("http://{0}/vshop/SignUp.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityId) }; response7.Articles.Add(article7); result = response7; return(result); } } } } result = null; return(result); }
private void OnGetNews(NewsResponse newsData, string data) { Log.Debug("ExampleAlchemyDataNews", "Alchemy data news - Get news Response: {0}", data); Test(newsData != null); _getNewsTested = true; }
public AbstractResponse GetResponse(Hidistro.Entities.VShop.ReplyInfo reply, string openId) { string log = string.Concat(new string[] { reply.MessageType.ToString(), "||", reply.MessageType.ToString(), "||", reply.MessageTypeName }); Globals.Debuglog(log, "_DebuglogYY.txt"); if (reply.MessageType == MessageType.Text) { TextReplyInfo textReplyInfo = reply as TextReplyInfo; TextResponse textResponse = new TextResponse(); textResponse.CreateTime = System.DateTime.Now; textResponse.Content = Globals.FormatWXReplyContent(textReplyInfo.Text); if (reply.Keys == "登录") { string arg = Globals.GetWebUrlStart() + "/Vshop/MemberCenter.aspx"; textResponse.Content = textResponse.Content.Replace("$login$", string.Format("<a href=\"{0}\">一键登录</a>", arg)); } return(textResponse); } NewsResponse newsResponse = new NewsResponse(); newsResponse.CreateTime = System.DateTime.Now; newsResponse.Articles = new System.Collections.Generic.List <Article>(); if (reply.ArticleID > 0) { ArticleInfo articleInfo = ArticleHelper.GetArticleInfo(reply.ArticleID); if (articleInfo.ArticleType == ArticleType.News) { Article item = new Article { Description = articleInfo.Memo, PicUrl = this.FormatImgUrl(articleInfo.ImageUrl), Title = articleInfo.Title, Url = (string.IsNullOrEmpty(articleInfo.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?sid={1}", System.Web.HttpContext.Current.Request.Url.Host, articleInfo.ArticleId) : articleInfo.Url) }; newsResponse.Articles.Add(item); return(newsResponse); } if (articleInfo.ArticleType != ArticleType.List) { return(newsResponse); } Article item2 = new Article { Description = articleInfo.Memo, PicUrl = this.FormatImgUrl(articleInfo.ImageUrl), Title = articleInfo.Title, Url = (string.IsNullOrEmpty(articleInfo.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?sid={1}", System.Web.HttpContext.Current.Request.Url.Host, articleInfo.ArticleId) : articleInfo.Url) }; newsResponse.Articles.Add(item2); using (System.Collections.Generic.IEnumerator <ArticleItemsInfo> enumerator = articleInfo.ItemsInfo.GetEnumerator()) { while (enumerator.MoveNext()) { ArticleItemsInfo current = enumerator.Current; item2 = new Article { Description = "", PicUrl = this.FormatImgUrl(current.ImageUrl), Title = current.Title, Url = (string.IsNullOrEmpty(current.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?iid={1}", System.Web.HttpContext.Current.Request.Url.Host, current.Id) : current.Url) }; newsResponse.Articles.Add(item2); } return(newsResponse); } } foreach (NewsMsgInfo current2 in (reply as NewsReplyInfo).NewsMsg) { Article item3 = new Article { Description = current2.Description, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, current2.PicUrl), Title = current2.Title, Url = (string.IsNullOrEmpty(current2.Url) ? string.Format("http://{0}/Vshop/ImageTextDetails.aspx?messageId={1}", System.Web.HttpContext.Current.Request.Url.Host, current2.Id) : current2.Url) }; newsResponse.Articles.Add(item3); } return(newsResponse); }
public AbstractResponse GetResponse(Hidistro.Entities.VShop.ReplyInfo reply, string openId) { if (reply.MessageType == Hidistro.Entities.VShop.MessageType.Text) { TextReplyInfo info = reply as TextReplyInfo; TextResponse response = new TextResponse { CreateTime = DateTime.Now, Content = info.Text }; if (reply.Keys == "登录") { string str = string.Format("http://{0}/Vshop/Login.aspx?SessionId={1}", HttpContext.Current.Request.Url.Host, openId); response.Content = response.Content.Replace("$login$", string.Format("<a href=\"{0}\">一键登录</a>", str)); } return(response); } NewsResponse response2 = new NewsResponse { CreateTime = DateTime.Now, Articles = new List <Article>() }; if (reply.ArticleID > 0) { ArticleInfo articleInfo = ArticleHelper.GetArticleInfo(reply.ArticleID); if (articleInfo.ArticleType == ArticleType.News) { Article item = new Article { Description = articleInfo.Memo, PicUrl = this.FormatImgUrl(articleInfo.ImageUrl), Title = articleInfo.Title, Url = string.IsNullOrEmpty(articleInfo.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?sid={1}", HttpContext.Current.Request.Url.Host, articleInfo.ArticleId) : articleInfo.Url }; response2.Articles.Add(item); return(response2); } if (articleInfo.ArticleType == ArticleType.List) { Article article3 = new Article { Description = articleInfo.Memo, PicUrl = this.FormatImgUrl(articleInfo.ImageUrl), Title = articleInfo.Title, Url = string.IsNullOrEmpty(articleInfo.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?sid={1}", HttpContext.Current.Request.Url.Host, articleInfo.ArticleId) : articleInfo.Url }; response2.Articles.Add(article3); foreach (ArticleItemsInfo info3 in articleInfo.ItemsInfo) { article3 = new Article { Description = "", PicUrl = this.FormatImgUrl(info3.ImageUrl), Title = info3.Title, Url = string.IsNullOrEmpty(info3.Url) ? string.Format("http://{0}/Vshop/ArticleDetail.aspx?iid={1}", HttpContext.Current.Request.Url.Host, info3.Id) : info3.Url }; response2.Articles.Add(article3); } } return(response2); } foreach (NewsMsgInfo info4 in (reply as NewsReplyInfo).NewsMsg) { Article article6 = new Article { Description = info4.Description, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, info4.PicUrl), Title = info4.Title, Url = string.IsNullOrEmpty(info4.Url) ? string.Format("http://{0}/Vshop/ImageTextDetails.aspx?messageId={1}", HttpContext.Current.Request.Url.Host, info4.Id) : info4.Url }; response2.Articles.Add(article6); } return(response2); }
/// <summary> /// Tạo mới tin tức /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <Response <NewsResponse> > CreateNewsAsync(CreateNewsRequest request) { if (string.IsNullOrEmpty(request.Content) || string.IsNullOrEmpty(request.Title)) { _logger.LogError("Title or content is not null"); return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> { "Title or content is not null" })); } var news = new News { Id = Guid.NewGuid(), Title = request.Title, Content = request.Content, CreateTime = DateTime.UtcNow.Date, UpdateTime = DateTime.UtcNow.Date, UrlImage = request.UrlImage }; var categoryNews = new List <CategoryNews>(); if (request.CategoryIds != null && request.CategoryIds.Any()) { foreach (var categoryId in request.CategoryIds) { var category = await _newsContext.Categories.FindAsync(categoryId); if (category == null) { _logger.LogError("Not find category"); return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> { "Not find category" })); } categoryNews.Add(new CategoryNews { Id = Guid.NewGuid(), CategoryId = category.Id, NewsId = news.Id }); } } await _newsContext.News.AddAsync(news); _newsContext.CategoryNews.AddRange(categoryNews); var result = await _newsContext.SaveChangesAsync(); var dataReponse = new NewsResponse { Id = news.Id, Title = news.Title, Content = news.Content, CreateTime = news.CreateTime, UpdateTime = news.UpdateTime, Categories = await GetCategoryModels(news.Id), UrlImage = news.UrlImage }; if (result > 0) { _logger.LogInformation("Create news success"); return(new Response <NewsResponse>(Constant.STATUS_SUCESS, null, dataReponse, 1)); } _logger.LogError("Create news failed"); return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> { "Error when Save" })); }
/// <summary> /// Cập nhật tin tức, thêm xóa danh mục khỏi tin tức /// </summary> /// <param name="newsId"></param> /// <param name="request"></param> /// <returns></returns> public async Task <Response <NewsResponse> > UpdateNewsAsync(Guid newsId, UpdateNewsRequest request) { var news = await _newsContext.News.FindAsync(newsId); if (news == null) { _logger.LogError("Not find news with id"); return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> { "Not find news with id" })); } if (!string.IsNullOrEmpty(request.Title)) { news.Title = request.Title; } if (!string.IsNullOrEmpty(request.Content)) { news.Content = request.Content; } if (!string.IsNullOrEmpty(request.UrlImage)) { news.UrlImage = request.UrlImage; } //thêm danh mục vào tin tức foreach (var categoryId in request.AddCategoryIds ?? new List <Guid> { }) { var category = await _newsContext.Categories.FindAsync(categoryId); if (category != null) { var categoryNews = _newsContext.CategoryNews.Where(x => x.CategoryId.Equals(category.Id) && x.NewsId.Equals(news.Id)).ToList(); if (categoryNews.Count() <= 0) { await _newsContext.CategoryNews.AddAsync(new CategoryNews { Id = Guid.NewGuid(), CategoryId = category.Id, NewsId = news.Id }); } } } //xóa danh mục khỏi tin tức foreach (var categoryId in request.RemoveCategoryIds ?? new List <Guid> { }) { var category = await _newsContext.Categories.FindAsync(categoryId); if (category != null) { var categoryNews = _newsContext.CategoryNews.Where(x => x.CategoryId.Equals(categoryId)); if (categoryNews != null && categoryNews.Any()) { _newsContext.CategoryNews.RemoveRange(categoryNews); } } } var result = await _newsContext.SaveChangesAsync(); var dataResponse = new NewsResponse { Id = news.Id, Title = news.Title, Content = news.Content, CreateTime = news.CreateTime, UpdateTime = news.UpdateTime, Categories = await GetCategoryModels(news.Id), UrlImage = news.UrlImage }; if (result >= 0) { _logger.LogInformation("Update news sucess"); return(new Response <NewsResponse>(Constant.STATUS_SUCESS, null, dataResponse, 1)); } _logger.LogError("Update news failed"); return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> { "Error when save" })); }
private AbstractResponse GetKeyResponse(string key, AbstractRequest request) { System.Collections.Generic.IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Topic); if (replies != null && replies.Count > 0) { foreach (ReplyInfo current in replies) { if (current.Keys == key) { TopicInfo topicInfo = VShopHelper.Gettopic(current.ActivityId); if (topicInfo != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = topicInfo.Title, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, topicInfo.IconUrl), Title = topicInfo.Title, Url = string.Format("http://{0}/vshop/Topics.aspx?TopicId={1}", System.Web.HttpContext.Current.Request.Url.Host, topicInfo.TopicId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies2 = ReplyHelper.GetReplies(ReplyType.Vote); if (replies2 != null && replies2.Count > 0) { foreach (ReplyInfo current2 in replies2) { if (current2.Keys == key) { VoteInfo voteById = StoreHelper.GetVoteById((long)current2.ActivityId); if (voteById != null && voteById.IsBackup) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = voteById.VoteName, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.ImageUrl), Title = voteById.VoteName, Url = string.Format("http://{0}/vshop/Vote.aspx?voteId={1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.VoteId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies3 = ReplyHelper.GetReplies(ReplyType.Wheel); if (replies3 != null && replies3.Count > 0) { foreach (ReplyInfo current3 in replies3) { if (current3.Keys == key) { LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(current3.ActivityId); if (lotteryActivityInfo != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = lotteryActivityInfo.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityPic), Title = lotteryActivityInfo.ActivityName, Url = string.Format("http://{0}/vshop/BigWheel.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies4 = ReplyHelper.GetReplies(ReplyType.Scratch); if (replies4 != null && replies4.Count > 0) { foreach (ReplyInfo current4 in replies4) { if (current4.Keys == key) { LotteryActivityInfo lotteryActivityInfo2 = VShopHelper.GetLotteryActivityInfo(current4.ActivityId); if (lotteryActivityInfo2 != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = lotteryActivityInfo2.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo2.ActivityPic), Title = lotteryActivityInfo2.ActivityName, Url = string.Format("http://{0}/vshop/Scratch.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo2.ActivityId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies5 = ReplyHelper.GetReplies(ReplyType.SmashEgg); if (replies5 != null && replies5.Count > 0) { foreach (ReplyInfo current5 in replies5) { if (current5.Keys == key) { LotteryActivityInfo lotteryActivityInfo3 = VShopHelper.GetLotteryActivityInfo(current5.ActivityId); if (lotteryActivityInfo3 != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = lotteryActivityInfo3.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo3.ActivityPic), Title = lotteryActivityInfo3.ActivityName, Url = string.Format("http://{0}/vshop/SmashEgg.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo3.ActivityId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies6 = ReplyHelper.GetReplies(ReplyType.SignUp); if (replies6 != null && replies6.Count > 0) { foreach (ReplyInfo current6 in replies6) { if (current6.Keys == key) { ActivityInfo activity = VShopHelper.GetActivity(current6.ActivityId); if (activity != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = activity.Description, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, activity.PicUrl), Title = activity.Name, Url = string.Format("http://{0}/vshop/Activity.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, activity.ActivityId) } } }; return(result); } } } } System.Collections.Generic.IList <ReplyInfo> replies7 = ReplyHelper.GetReplies(ReplyType.Ticket); if (replies7 != null && replies7.Count > 0) { foreach (ReplyInfo current7 in replies7) { if (current7.Keys == key) { LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(current7.ActivityId); if (lotteryTicket != null) { AbstractResponse result = new NewsResponse { CreateTime = System.DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, //修改1 Articles = { new Article { Description = lotteryTicket.ActivityDesc, PicUrl = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityPic), Title = lotteryTicket.ActivityName, Url = string.Format("http://{0}/vshop/SignUp.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityId) } } }; return(result); } } } } return(null); }
private void _scClient_OnMessage(string message) { Debug.WriteLine(message); // check if this is a publish message var m = Regex.Match(message, @"^{""event""*.:*.""#publish"""); if (!m.Success) { return; } // get the channel var jobj = Options.Serializer.Deserialize <dynamic>(message); string channel = jobj["data"]["channel"].ToString(); string reqtype; if (channel.Contains('-') && !Guid.TryParse(channel, out _)) { reqtype = channel.Substring(0, channel.IndexOf('-')); } else { reqtype = channel; if (Guid.TryParse(channel, out var cguid)) { if (string.Equals(cguid.ToString(), channel, StringComparison.OrdinalIgnoreCase)) { // ok we have a private channel so lets find out what data we have reqtype = jobj["data"]["data"]["MessageType"].ToString(); } } } var hascb = (from c in _subscribeCallbacs where c.Key == channel select c).Any(); if (hascb) { var cbs = from c in _subscribeCallbacs where c.Key == channel select c.Value; foreach (var cb in cbs) { cb.Invoke(GetMessageType(reqtype), message); } } switch (reqtype.ToUpper()) { case "ORDER": var ominfo = ParseMarketInfo(channel); var orders = OrderResponse.FromJson(Options.Serializer, message); OnOrderMessage?.Invoke(ominfo.Exchange, ominfo.Curr1, ominfo.Curr2, orders.OrderData.Orders); OnMessage?.Invoke(MessageType.OrderData, message); break; case "TRADE": var tminfo = ParseMarketInfo(channel); var trade = TradeResponse.FromJson(Options.Serializer, message); OnTradeMessage?.Invoke(tminfo.Exchange, tminfo.Curr1, tminfo.Curr2, trade.TradeData.Trade); OnMessage?.Invoke(MessageType.TradeData, message); break; case "BLOCK": OnBlockMessage?.Invoke(ParseBlockInfo(channel), new BlockItem()); OnMessage?.Invoke(MessageType.BlockData, message); break; case "FAVORITE": OnFavoriteMessage?.Invoke(FavoriteResponse.FromJson(Options.Serializer, message).Data.FavoritesDataData.Favorites); OnMessage?.Invoke(MessageType.FavoriteData, message); break; case "NOTIFICATION": OnNotificationMessage?.Invoke(NotificationResponse.FromJson(Options.Serializer, message).NotificationData.NotificationDataData.NotificationDataItem); OnMessage?.Invoke(MessageType.NotificationData, message); break; case "NEWS": OnNewsMessage?.Invoke(NewsResponse.FromJson(Options.Serializer, message).NewsData.NewsDataItem); OnMessage?.Invoke(MessageType.NewsData, message); break; case "NEWMARKET": OnNewMarketMessage?.Invoke(NewMarketResponse.FromJson(Options.Serializer, message).NewMarketData.NewMarketDataData); OnMessage?.Invoke(MessageType.NewMarket, message); break; default: OnMessage?.Invoke(MessageType.Unknown, message); break; } }
private AbstractResponse GetKeyResponse(string key, AbstractRequest request) { IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Topic, this.wid); if ((replies != null) && (replies.Count > 0)) { foreach (ReplyInfo info in replies) { if (info.Keys == key) { TopicInfo topic = VShopHelper.Gettopic(info.ActivityId); if (topic != null) { NewsResponse response = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article item = new Article { Description = topic.Title, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, topic.IconUrl), Title = topic.Title, Url = string.Format("http://{0}/vshop/Topics.aspx?TopicId={1}", HttpContext.Current.Request.Url.Host, topic.TopicId) }; response.Articles.Add(item); return(response); } } } } IList <ReplyInfo> list2 = ReplyHelper.GetReplies(ReplyType.Vote, this.wid); if ((list2 != null) && (list2.Count > 0)) { foreach (ReplyInfo info3 in list2) { if (info3.Keys == key) { Hidistro.Entities.Promotions.VoteInfo voteById = StoreHelper.GetVoteById((long)info3.ActivityId); if ((voteById != null) && voteById.IsBackup) { NewsResponse response2 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article2 = new Article { Description = voteById.VoteName, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, voteById.ImageUrl), Title = voteById.VoteName, Url = string.Format("http://{0}/vshop/Vote.aspx?voteId={1}", HttpContext.Current.Request.Url.Host, voteById.VoteId) }; response2.Articles.Add(article2); return(response2); } } } } IList <ReplyInfo> list3 = ReplyHelper.GetReplies(ReplyType.Wheel, this.wid); if ((list3 != null) && (list3.Count > 0)) { foreach (ReplyInfo info5 in list3) { if (info5.Keys == key) { LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(info5.ActivityId); if (lotteryActivityInfo != null) { NewsResponse response3 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article3 = new Article { Description = lotteryActivityInfo.ActivityDesc, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityPic), Title = lotteryActivityInfo.ActivityName, Url = string.Format("http://{0}/vshop/BigWheel.aspx?activityId={1}", HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityId) }; response3.Articles.Add(article3); return(response3); } } } } IList <ReplyInfo> list4 = ReplyHelper.GetReplies(ReplyType.Scratch, this.wid); if ((list4 != null) && (list4.Count > 0)) { foreach (ReplyInfo info7 in list4) { if (info7.Keys == key) { LotteryActivityInfo info8 = VShopHelper.GetLotteryActivityInfo(info7.ActivityId); if (info8 != null) { NewsResponse response4 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article4 = new Article { Description = info8.ActivityDesc, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, info8.ActivityPic), Title = info8.ActivityName, Url = string.Format("http://{0}/vshop/Scratch.aspx?activityId={1}", HttpContext.Current.Request.Url.Host, info8.ActivityId) }; response4.Articles.Add(article4); return(response4); } } } } IList <ReplyInfo> list5 = ReplyHelper.GetReplies(ReplyType.SmashEgg, this.wid); if ((list5 != null) && (list5.Count > 0)) { foreach (ReplyInfo info9 in list5) { if (info9.Keys == key) { LotteryActivityInfo info10 = VShopHelper.GetLotteryActivityInfo(info9.ActivityId); if (info10 != null) { NewsResponse response5 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article5 = new Article { Description = info10.ActivityDesc, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, info10.ActivityPic), Title = info10.ActivityName, Url = string.Format("http://{0}/vshop/SmashEgg.aspx?activityId={1}", HttpContext.Current.Request.Url.Host, info10.ActivityId) }; response5.Articles.Add(article5); return(response5); } } } } IList <ReplyInfo> list6 = ReplyHelper.GetReplies(ReplyType.SignUp, this.wid); if ((list6 != null) && (list6.Count > 0)) { foreach (ReplyInfo info11 in list6) { if (info11.Keys == key) { ActivityInfo activity = VShopHelper.GetActivity(info11.ActivityId); if (activity != null) { NewsResponse response6 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article6 = new Article { Description = activity.Description, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, activity.PicUrl), Title = activity.Name, Url = string.Format("http://{0}/vshop/Activity.aspx?id={1}", HttpContext.Current.Request.Url.Host, activity.ActivityId) }; response6.Articles.Add(article6); return(response6); } } } } IList <ReplyInfo> list7 = ReplyHelper.GetReplies(ReplyType.Ticket, this.wid); if ((list7 != null) && (list7.Count > 0)) { foreach (ReplyInfo info13 in list7) { if (info13.Keys == key) { LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(info13.ActivityId); if (lotteryTicket != null) { NewsResponse response7 = new NewsResponse { CreateTime = DateTime.Now, FromUserName = request.ToUserName, ToUserName = request.FromUserName, Articles = new List <Article>() }; Article article7 = new Article { Description = lotteryTicket.ActivityDesc, PicUrl = string.Format("http://{0}{1}", HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityPic), Title = lotteryTicket.ActivityName, Url = string.Format("http://{0}/vshop/SignUp.aspx?id={1}", HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityId) }; response7.Articles.Add(article7); return(response7); } } } } return(null); }
private AbstractResponse GetKeyResponse(string key, AbstractRequest request) { IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Vote); if (replies != null && replies.Count > 0) { foreach (ReplyInfo item in replies) { if (item.Keys == key) { VoteInfo voteById = StoreHelper.GetVoteById(item.ActivityId); if (voteById != null && voteById.IsBackup) { NewsResponse newsResponse = new NewsResponse(); newsResponse.CreateTime = DateTime.Now; newsResponse.FromUserName = request.ToUserName; newsResponse.ToUserName = request.FromUserName; newsResponse.Articles = new List <Article>(); newsResponse.Articles.Add(new Article { Description = voteById.VoteName, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{voteById.ImageUrl}", Title = voteById.VoteName, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/Vote.aspx?voteId={voteById.VoteId}" }); return(newsResponse); } } } } IList <ReplyInfo> replies2 = ReplyHelper.GetReplies(ReplyType.Wheel); if (replies2 != null && replies2.Count > 0) { foreach (ReplyInfo item2 in replies2) { if (item2.Keys == key) { LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(item2.ActivityId); if (lotteryActivityInfo != null) { NewsResponse newsResponse2 = new NewsResponse(); newsResponse2.CreateTime = DateTime.Now; newsResponse2.FromUserName = request.ToUserName; newsResponse2.ToUserName = request.FromUserName; newsResponse2.Articles = new List <Article>(); newsResponse2.Articles.Add(new Article { Description = lotteryActivityInfo.ActivityDesc, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{lotteryActivityInfo.ActivityPic}", Title = lotteryActivityInfo.ActivityName, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/BigWheel.aspx?activityId={lotteryActivityInfo.ActivityId}" }); return(newsResponse2); } } } } IList <ReplyInfo> replies3 = ReplyHelper.GetReplies(ReplyType.Scratch); if (replies3 != null && replies3.Count > 0) { foreach (ReplyInfo item3 in replies3) { if (item3.Keys == key) { LotteryActivityInfo lotteryActivityInfo2 = VShopHelper.GetLotteryActivityInfo(item3.ActivityId); if (lotteryActivityInfo2 != null) { NewsResponse newsResponse3 = new NewsResponse(); newsResponse3.CreateTime = DateTime.Now; newsResponse3.FromUserName = request.ToUserName; newsResponse3.ToUserName = request.FromUserName; newsResponse3.Articles = new List <Article>(); newsResponse3.Articles.Add(new Article { Description = lotteryActivityInfo2.ActivityDesc, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{lotteryActivityInfo2.ActivityPic}", Title = lotteryActivityInfo2.ActivityName, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/Scratch.aspx?activityId={lotteryActivityInfo2.ActivityId}" }); return(newsResponse3); } } } } IList <ReplyInfo> replies4 = ReplyHelper.GetReplies(ReplyType.SmashEgg); if (replies4 != null && replies4.Count > 0) { foreach (ReplyInfo item4 in replies4) { if (item4.Keys == key) { LotteryActivityInfo lotteryActivityInfo3 = VShopHelper.GetLotteryActivityInfo(item4.ActivityId); if (lotteryActivityInfo3 != null) { NewsResponse newsResponse4 = new NewsResponse(); newsResponse4.CreateTime = DateTime.Now; newsResponse4.FromUserName = request.ToUserName; newsResponse4.ToUserName = request.FromUserName; newsResponse4.Articles = new List <Article>(); newsResponse4.Articles.Add(new Article { Description = lotteryActivityInfo3.ActivityDesc, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{lotteryActivityInfo3.ActivityPic}", Title = lotteryActivityInfo3.ActivityName, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/SmashEgg.aspx?activityId={lotteryActivityInfo3.ActivityId}" }); return(newsResponse4); } } } } IList <ReplyInfo> replies5 = ReplyHelper.GetReplies(ReplyType.SignUp); if (replies5 != null && replies5.Count > 0) { foreach (ReplyInfo item5 in replies5) { if (item5.Keys == key) { VActivityInfo activity = VShopHelper.GetActivity(item5.ActivityId); if (activity != null) { NewsResponse newsResponse5 = new NewsResponse(); newsResponse5.CreateTime = DateTime.Now; newsResponse5.FromUserName = request.ToUserName; newsResponse5.ToUserName = request.FromUserName; newsResponse5.Articles = new List <Article>(); newsResponse5.Articles.Add(new Article { Description = activity.Description, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{activity.PicUrl}", Title = activity.Name, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/Activity.aspx?id={activity.ActivityId}" }); return(newsResponse5); } } } } IList <ReplyInfo> replies6 = ReplyHelper.GetReplies(ReplyType.Ticket); if (replies6 != null && replies6.Count > 0) { foreach (ReplyInfo item6 in replies6) { if (item6.Keys == key) { LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(item6.ActivityId); if (lotteryTicket != null) { NewsResponse newsResponse6 = new NewsResponse(); newsResponse6.CreateTime = DateTime.Now; newsResponse6.FromUserName = request.ToUserName; newsResponse6.ToUserName = request.FromUserName; newsResponse6.Articles = new List <Article>(); newsResponse6.Articles.Add(new Article { Description = lotteryTicket.ActivityDesc, PicUrl = $"http://{HttpContext.Current.Request.Url.Host}{lotteryTicket.ActivityPic}", Title = lotteryTicket.ActivityName, Url = $"http://{HttpContext.Current.Request.Url.Host}/vshop/SignUp.aspx?id={lotteryTicket.ActivityId}" }); return(newsResponse6); } } } } return(null); }
private void OnGetNewsSuccess(NewsResponse resp, Dictionary <string, object> customData) { _getNewsTested = true; Log.Debug("ExampleAlchemyDataNews.OnSuccess()", "Response received: {0}", customData["json"].ToString()); }