private async Task <bool> TitleNews(string parsedFile, CancellationToken token)
        {
            var titleNewsItems = JsonWrapper.DeserializeObject <List <PlayFab.ServerModels.TitleNewsItem> >(parsedFile);

            foreach (var item in titleNewsItems)
            {
                LogToFile("\tUploading: " + item.Title);

                var request = new AddNewsRequest()
                {
                    Title = item.Title,
                    Body  = item.Body
                };

                var addNewsTask = await PlayFabAdminAPI.AddNewsAsync(request);

                if (addNewsTask.Error != null)
                {
                    OutputPlayFabError("\t\tTitleNews Upload: " + item.Title, addNewsTask.Error);
                }
                else
                {
                    LogToFile("\t\t" + item.Title + " Uploaded.");
                }
            }

            return(true);
        }
Example #2
0
        public async Task <ActionResult <ApiResponse> > AddNews(AddNewsRequest request)
        {
            var poster = await userService.GetUserFromUsernameAsync(User.Identity.Name).ConfigureAwait(false);

            if (poster == null)
            {
                logger.LogError($"Unknown username '{User.Identity.Name}' saving news");
                return(this.FailureResponse(t["An error occurred saving the news item"]));
            }

            var newNews = new News
            {
                DatePublished = DateTime.UtcNow,
                PosterId      = poster.Id,
                Text          = request.Text
            };

            var result = await newsService.AddNewsAsync(newNews).ConfigureAwait(false);

            if (result)
            {
                newNews.Poster = poster;
                return(new AddNewsResponse {
                    Success = true, NewsItem = newNews, Message = t["News item added successfully"]
                });
            }

#pragma warning disable CA1303 // Do not pass literals as localized parameters
            logger.LogError("Failed saving news");
#pragma warning restore CA1303 // Do not pass literals as localized parameters
            return(this.FailureResponse(t["An error occurred saving the news item."]));
        }
        /// <inheritdoc/>
        public async Task <NewsDto> AddNewsAsync(AddNewsRequest request)
        {
            await _context.News.AddAsync(MaptoDto(request));

            await _context.SaveChangesAsync();

            return(MaptoDto(request));
        }
        /// <summary>
        /// Adds a new news item to the title's news feed
        /// </summary>
        public static void AddNews(AddNewsRequest request, Action <AddNewsResult> resultCallback, Action <PlayFabError> errorCallback, object customData = null)
        {
            if (PlayFabSettings.DeveloperSecretKey == null)
            {
                throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method");
            }

            PlayFabHttp.MakeApiCall("/Admin/AddNews", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData);
        }
 private NewsDto MaptoDto(AddNewsRequest request)
 {
     return(new NewsDto
     {
         IdCategory = request.IdCategory,
         Title = request.Title,
         Description = request.Description,
         Rating = request.Rating,
     });
 }
Example #6
0
        public object Post(AddNewsRequest request)
        {
            var news = request.ConvertTo <News>();

            var id = (int)Db.Insert(news, true);

            var dto = Get(new GetNewsByIdRequest {
                Id = id
            });

            return(new HttpResult(dto, HttpStatusCode.Created)
            {
                Location = Request.AbsoluteUri + "/news/" + id
            });
        }
Example #7
0
        public async Task <NewsResponse> AddNewsAsync(AddNewsRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException();
            }
            var news = _mapper.Map <Entities.News>(request);

            var result = _newsRepository.Add(news);
            await _newsRepository.UnitOfWork.SaveChangesAsync();

            var response = _mapper.Map <NewsResponse>(result);

            return(response);
        }
Example #8
0
        public async Task <IActionResult> AddNews([FromBody] AddNewsRequest request)
        {
            News news = new News()
            {
                Title              = request.Title,
                Body               = request.Body,
                SportTypeTag       = request.SportTypeTag,
                GoalTypeTag        = request.GoalTypeTag,
                DifficultyLevelTag = request.DifficultyLevelTag
            };

            await dataBase.News.AddAsync(news);

            await dataBase.SaveChangesAsync();

            return(Ok(news.NewsId));
        }
Example #9
0
        public async Task AddNews_NewsValid_ReturnsNotNull(Mock <INewsRepository> newsRepository,
                                                           News news,
                                                           AddNewsRequest addRequest)
        {
            newsRepository.Setup(x => x.Add(It.IsAny <News>())).Returns(news);
            var service = new NewsService(newsRepository.Object, _mapper);

            var actual = await service.AddNewsAsync(addRequest);

            actual.Category.Should().NotBeNull();
            actual.EncodedText.Should().NotBeNullOrEmpty();
            actual.Slug.Should().NotBeNullOrEmpty();
            actual.Title.Should().NotBeNullOrEmpty();

            newsRepository.Verify(x => x.Add(It.IsAny <News>()), Times.Once);
            newsRepository.Verify(x =>
                                  x.UnitOfWork.SaveChangesAsync(It.IsAny <CancellationToken>()), Times.Once);
            newsRepository.VerifyNoOtherCalls();
        }
Example #10
0
        public async Task <bool> UploadTitleNews()
        {
            if (string.IsNullOrEmpty(titleNewsPath))
            {
                LogToFile("TitleNews File Path is Null ");
                return(true);
            }


            LogToFile("Uploading TitleNews...");
            var parsedFile = ParseFile(titleNewsPath);

            var titleNewsItems = JsonWrapper.DeserializeObject <List <PlayFab.ServerModels.TitleNewsItem> >(parsedFile);

            foreach (var item in titleNewsItems)
            {
                LogToFile("\tUploading: " + item.Title);

                var request = new AddNewsRequest()
                {
                    Title = item.Title,
                    Body  = item.Body
                };
                if (token.IsCancellationRequested)
                {
                    return(true);
                }

                var addNewsTask = await PlayFabAdminAPI.AddNewsAsync(request);

                if (addNewsTask.Error != null)
                {
                    OutputPlayFabError("\t\tTitleNews Upload: " + item.Title, addNewsTask.Error);
                }
                else
                {
                    LogToFile("\t\t" + item.Title + " Uploaded.", ConsoleColor.Green);
                }
            }

            return(true);
        }
Example #11
0
        public async Task <ActionResult <ApiResponse> > SaveNews(int newsId, AddNewsRequest request)
        {
            var newsItem = await newsService.FindNewsByIdAsync(newsId).ConfigureAwait(false);

            if (newsItem == null)
            {
                return(NotFound());
            }

            newsItem.Text = request.Text;

            var result = await newsService.UpdateNewsAsync(newsItem).ConfigureAwait(false);

            if (result)
            {
                return(new AddNewsResponse {
                    Success = true, NewsItem = newsItem
                });
            }

            logger.LogError($"Failed to update news item {newsId}");
            return(this.FailureResponse(t["An error occurred saving the news item"]));
        }
Example #12
0
        private static bool UploadTitleNews()
        {
            if (string.IsNullOrEmpty(titleNewsPath))
            {
                return(false);
            }

            LogToFile("Uploading TitleNews...");
            var parsedFile = ParseFile(titleNewsPath);

            var titleNewsItems = JsonWrapper.DeserializeObject <List <PlayFab.ServerModels.TitleNewsItem> >(parsedFile);

            foreach (var item in titleNewsItems)
            {
                LogToFile(string.Format("\tUploading: {0}", item.Title));

                var request = new AddNewsRequest()
                {
                    Title = item.Title,
                    Body  = item.Body
                };

                var addNewsTask = PlayFabAdminAPI.AddNewsAsync(request);
                addNewsTask.Wait();

                if (addNewsTask.Result.Error != null)
                {
                    OutputPlayFabError("\t\tTitleNews Upload: " + item.Title, addNewsTask.Result.Error);
                }
                else
                {
                    LogToFile(string.Format("\t\t{0} Uploaded.", item.Title), ConsoleColor.Green);
                }
            }

            return(true);
        }
 public async Task <ServiceResponse <NewsDto> > AddNews(AddNewsRequest request)
 {
     return(await _executeService.TryExecute(() => _service.AddNewsAsync(request)));
 }
Example #14
0
 /// <summary>
 /// 新增永久图文素材
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public Task <AddNewsResponse> AddNews(AddNewsRequest request)
 {
     return(WeChatOfficialApiRequester.RequestAsync <AddNewsResponse>(UploadMediaUrl,
                                                                      HttpMethod.Post,
                                                                      request));
 }
Example #15
0
        public async Task <IActionResult> Post(AddNewsRequest request)
        {
            var result = await _newsService.AddNewsAsync(request);

            return(Ok(result));
        }