Beispiel #1
0
        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
                });
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
        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;
        }
Beispiel #8
0
        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;
 }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        /// <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"
            }));
        }
Beispiel #13
0
        /// <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"
            }));
        }
Beispiel #14
0
 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);
 }
Beispiel #15
0
        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);
        }
Beispiel #17
0
        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);
        }
Beispiel #18
0
 private void OnGetNewsSuccess(NewsResponse resp, Dictionary <string, object> customData)
 {
     _getNewsTested = true;
     Log.Debug("ExampleAlchemyDataNews.OnSuccess()", "Response received: {0}", customData["json"].ToString());
 }