/// <summary> /// Post a new ForumTopic /// </summary> /// <param name="dto">Dto</param> /// <returns></returns> public async Task <HttpResponseMessage> PostForumTopic(ForumPostForNewForumTopicDto dto) { var requestJson = Json.Serialize(dto); HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, $"{Constants.URL_BASE}api/ForumTopic"); req.Headers.Add("Authorization", $"Bearer {_storage["token"]}"); req.Content = new StringContent(requestJson, Encoding.Default, "application/json"); return(await _httpClient.SendAsync(req)); }
public async Task <IActionResult> NewForumTopicAndForumPost(ForumPostForNewForumTopicDto dto) { // Test if ForumTopic.Name is unique if (await _repo.ForumTopicExist(dto.NameTopic)) { return(BadRequest($"Impossible de créer le sujet, le même nom de sujet « {dto.NameTopic} » existe déjà")); } // Prepare ForumTopic var itemForumTopic = new ForumTopic { Date = DateTime.Now, ForumCategorieId = dto.ForumCategorieId, Name = dto.NameTopic, View = 0 }; _repo.Add(itemForumTopic); if (!await _repo.SaveAll()) { return(BadRequest("Impossible de créer le sujet")); } // Find current user var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); // Prepare ForumPost var item = new ForumPost { ForumTopicId = itemForumTopic.Id, UserId = userId, Date = DateTime.Now, Content = dto.Content }; _repo.Add(item); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Impossible de créer le sujet")); }