Exemple #1
0
        public async Task <ActionResult <NewsGetDetailedResponse> > PostNews(PostNewsView view)
        {
            NewsPostRequest data = view.ToData();
            List <Tag>      tags = view.Tags.Select(tag => new Tag {
                Name = tag
            }).ToList();

            NewsPostResponse savedNews = await _newsRepository.PostNewsAsync(data, tags);

            return(CreatedAtAction(nameof(PostNews), new { newsId = savedNews.Id }, savedNews));
        }
Exemple #2
0
        public async Task <NewsPostResponse> PostNewsAsync(NewsPostRequest request, List <Tag> tags)
        {
            await using var connection = new SqlConnection(_connectionString);
            await connection.OpenAsync();

            var parameters = new DynamicParameters(request);

            parameters.AddTable(TagsListType.parameterName, TagsListType.typeName, tags);

            return(await connection.QueryFirstAsync <NewsPostResponse>(ExecNewsPost, parameters));
        }
Exemple #3
0
        public async Task <ActionResult <News> > AddNews(NewsPostRequest data)
        {
            var user = await _userRepository.GetUserByTokenId(data.TokenId);

            if (user == null || user.Role == "user")
            {
                return(Unauthorized());
            }

            var result = await _repository.AddNews(user.Id, data.Description, DateTime.Now);

            if (result > 0)
            {
                return(Created("New feedback added", result));
            }

            return(BadRequest());
        }