Esempio n. 1
0
        public async Task <IActionResult> ReplyForumPoste(ForumPostForReplyDto dto)
        {
            // Trouver l'utilisateur actuel
            var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            // Préparation du model
            var item = new ForumPost
            {
                ForumTopicId = dto.ForumTopicId,
                UserId       = userId,
                Date         = DateTime.Now,
                Content      = dto.Content
            };

            _repo.Add(item);

            if (!await _repo.SaveAll())
            {
                return(BadRequest("Impossible de répondre à ce poste"));
            }

            var itemTopic = await _repo.GetForumTopic(dto.ForumTopicId);

            itemTopic.Date = item.Date;
            _repo.Update(itemTopic);

            if (!await _repo.SaveAll())
            {
                return(BadRequest("Impossible de modifier la date du sujet"));
            }

            return(Ok());
        }
        /// <summary>
        /// Post a replay to ForumPosts
        /// </summary>
        /// <param name="dto">Dto</param>
        /// <returns></returns>
        public async Task <HttpResponseMessage> PostReplyForumPoste(ForumPostForReplyDto dto)
        {
            var requestJson        = Json.Serialize(dto);
            HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, $"{Constants.URL_BASE}api/ForumPost");

            req.Headers.Add("Authorization", $"Bearer {_storage["token"]}");
            req.Content = new StringContent(requestJson, Encoding.Default, "application/json");
            return(await _httpClient.SendAsync(req));
        }