Ejemplo n.º 1
0
        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
        {
            OperationResponse response;

            switch ((OperationCode)operationRequest.OperationCode)
            {
            default:
                response = new OperationResponse(operationRequest.OperationCode)
                {
                    ReturnCode   = (short)ReturnCode.OperationInvalid,
                    DebugMessage = "Unknown operation code"
                };
                break;

            case OperationCode.GetServerList:
            {
                var responseObject = new GetServerListResponse {
                    ServerList = this.application.ServerInfoCollection.GetInfo()
                };
                response = new OperationResponse(operationRequest.OperationCode, responseObject);
                break;
            }

            case OperationCode.GetServerVersion:
            {
                var responseObject = new GetServerVersionResponse {
                    serverVersion = application.appVersion.ToString()
                };
                response = new OperationResponse(operationRequest.OperationCode, responseObject);
                break;
            }

            case OperationCode.GetNews:
            {
                GetNewsRequest request = new GetNewsRequest(Protocol, operationRequest);
                if (!request.IsValid)
                {
                    response = new OperationResponse(operationRequest.OperationCode)
                    {
                        ReturnCode = (short)ReturnCode.InvalidOperationParameter, DebugMessage = "lang"
                    };
                }
                else
                {
                    Hashtable       newsHash       = application.news.GetNews(request.lang);
                    GetNewsResponse responseObject = new GetNewsResponse {
                        news = newsHash
                    };
                    response = new OperationResponse(operationRequest.OperationCode, responseObject);
                }
                break;
            }
            }

            if (response != null)
            {
                this.SendOperationResponse(response, sendParameters);
            }
        }
 private void setUpNewsResponse(GetNewsResponse r)
 => AddStep("set up response", () =>
 {
     dummyAPI.HandleRequest = request =>
     {
         if (!(request is GetNewsRequest getNewsRequest))
         {
             return;
Ejemplo n.º 3
0
 private void setUpNewsResponse(GetNewsResponse r, string testName = "Set up response")
 => AddStep(testName, () =>
 {
     dummyAPI.HandleRequest = request =>
     {
         if (!(request is GetNewsRequest getNewsRequest))
         {
             return(false);
Ejemplo n.º 4
0
        public async Task <ActionResult <GetNewsResponse> > GetAllNews()
        {
            var news = await newsService.GetAllNewsAsync().ConfigureAwait(false);

            var ret = new GetNewsResponse {
                Success = true
            };

            ret.News.AddRange(news);

            return(ret);
        }
Ejemplo n.º 5
0
        public override Task <GetNewsResponse> GetNews(GetNewsRequest request, ServerCallContext context)
        {
            var basePageFilter = new BasicPageFilter()
            {
                PageIndex = request.PageIndex,
                PageSize  = request.PageSize,
            };
            var news = _newsService.GetNews(basePageFilter).Select(n => NewsGrpcConverter.ToMessage(n)).ToList();

            var response = new GetNewsResponse();

            response.News.AddRange(news);
            return(Task.FromResult(response));
        }
Ejemplo n.º 6
0
        public static GetNewsResponse Execute(ElementRequest request)
        {
            var news = DbHelper.GetNews(Guid.Parse(request.Txt));

            var img_for_news = DbHelper.GetPhotoForNews(news.id_news);

            var photo = new List <Photo>();

            if (!img_for_news.Any() && news.type == 1)
            {
                photo.Add(new Photo
                {
                    Url = "url(./content/img/news.png)"
                });
            }

            foreach (var item in img_for_news)
            {
                photo.Add(new Photo
                {
                    Id  = item.id_img_for_news.ToString(),
                    Url = item.url_bd
                });
            }

            var response = new GetNewsResponse
            {
                News = new FullNews
                {
                    Id         = news.id_news.ToString(),
                    Text       = news.text,
                    Title      = news.title,
                    Date       = news.date.ToShortDateString(),
                    Type       = news.type,
                    Top        = news.top,
                    Photo      = photo,
                    UrlVideo   = DbHelper.GetVideoForNews(news.id_news),
                    CommandOne = news.id_command_one.ToString(),
                    CommandTwo = news.id_command_two.ToString()
                }
            };

            return(response);
        }
Ejemplo n.º 7
0
        private void onSuccess(GetNewsResponse response)
        {
            cancellationToken?.Cancel();

            // only needs to be updated on the initial load, as the content won't change during pagination.
            if (lastCursor == null)
            {
                SidebarMetadataUpdated?.Invoke(response.SidebarMetadata);
            }

            // store cursor for next pagination request.
            lastCursor = response.Cursor;

            LoadComponentsAsync(response.NewsPosts.Select(p => new NewsCard(p)).ToList(), loaded =>
            {
                content.AddRange(loaded);

                showMore.IsLoading = false;
                showMore.Alpha     = response.Cursor != null ? 1 : 0;
            }, (cancellationToken = new CancellationTokenSource()).Token);
        }
Ejemplo n.º 8
0
        private void onSuccess(GetNewsResponse response)
        {
            cancellationToken?.Cancel();

            lastCursor = response.Cursor;

            var flow = new FillFlowContainer <NewsCard>
            {
                RelativeSizeAxes = Axes.X,
                AutoSizeAxes     = Axes.Y,
                Direction        = FillDirection.Vertical,
                Spacing          = new Vector2(0, 10),
                Children         = response.NewsPosts.Select(p => new NewsCard(p)).ToList()
            };

            LoadComponentAsync(flow, loaded =>
            {
                content.Add(loaded);
                showMore.IsLoading = false;
                showMore.Alpha     = lastCursor == null ? 0 : 1;
            }, (cancellationToken = new CancellationTokenSource()).Token);
        }
Ejemplo n.º 9
0
        public async Task <List <GetNewsResponse> > News(CancellationToken cancellationToken)
        {
            var feed = FeedReader.Read("https://waven-game.com/feed/");


            var             articleImagesUrl = new List <string>();
            List <FeedItem> articles         = new List <FeedItem>();

            foreach (var item in feed.Items)
            {
                ArticleFeedModel article = new ArticleFeedModel();
                article.InitByFeedItem(item);

                string html2;
                using (WebClient client = new WebClient())
                {
                    html2 = client.DownloadString(item.Link);
                }
                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(html2);
                foreach (HtmlNode img in doc.DocumentNode.SelectNodes("//img"))
                {
                    var articleImageEnteteUrl = img.GetAttributeValue("src", null);
                    if (!articleImageEnteteUrl.Contains("logo"))
                    {
                        article.EnteteUrl = articleImageEnteteUrl;
                        articles.Add(article);
                        break;
                    }
                }
            }
            var json         = JsonConvert.SerializeObject(articles);
            var newsResponse = GetNewsResponse.FromJson(json);

            return(newsResponse);
        }