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)); }
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)); }
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()); }