PostGetAllDto IPostBusinessLogic.Create(PostCreateDto post)
        {
            Post createdPost = mapper.Map <Post>(post);

            ImageGetDto image = imageService.Create(new ImageCreateDto()
            {
                Image  = post.MediaPath,
                Prefix = "posts"
            });

            CreateContentScanTaskDto createContentScanTaskDto = new CreateContentScanTaskDto()
            {
                ImageUrl                                     = image != null?imageService.GetFullImageUrl(image.Url) : null,
                                                 Text        = post.Description,
                                                 CallbackUrl = $"/api/v1/trends/{post.TrendId}/posts/{createdPost.Id}/content-scan-result"
            };

            contentScanTaskService.CreateTask(createContentScanTaskDto);

            createdPost.MediaPath = image != null ? image.Url : imageService.GetDefaultImageUrl();
            postRepository.Insert(createdPost);
            postRepository.SaveChanges();

            return(mapper.Map <PostGetAllDto>(createdPost));
        }
Пример #2
0
        TrendGetAllDto ITrendBusinessLogic.Create(TrendCreateDto trend)
        {
            Trend createdTrend = mapper.Map <Trend>(trend);

            ImageGetDto image = imageService.Create(new ImageCreateDto()
            {
                Image  = trend.Image,
                Prefix = "trends"
            });

            CreateContentScanTaskDto createContentScanTaskDto = new CreateContentScanTaskDto()
            {
                ImageUrl                                     = image != null?imageService.GetFullImageUrl(image.Url) : null,
                                                 Text        = trend.Description,
                                                 CallbackUrl = $"/api/v1/trends/{createdTrend.Id}/content-scan-result"
            };

            contentScanTaskService.CreateTask(createContentScanTaskDto);

            createdTrend.ImageUrl = image != null ? image.Url : imageService.GetDefaultImageUrl();
            trendRepository.Insert(createdTrend);
            trendRepository.SaveChanges();

            return(mapper.Map <TrendGetAllDto>(createdTrend));
        }
Пример #3
0
        public IActionResult Create([FromBody] ImageCreateDto imageCreateDto)
        {
            ImageGetDto imageGetDto = imageBusinessLogic.Create(imageCreateDto);

            if (imageGetDto == null)
            {
                return(BadRequest());
            }
            return(CreatedAtAction(nameof(Get), new { id = imageGetDto.Id }, imageGetDto));
        }
Пример #4
0
        public IActionResult Get([FromRoute] string id)
        {
            ImageGetDto imageGetDto = imageBusinessLogic.Get(id);

            if (imageGetDto == null)
            {
                return(NotFound());
            }
            return(Ok(imageGetDto));
        }
        ImageGetDto IImageService.Create(ImageCreateDto imageCreateDto)
        {
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/v1/images")
            {
                Content = new StringContent(System.Text.Json.JsonSerializer.Serialize(imageCreateDto), Encoding.UTF8, "application/json")
            };
            HttpResponseMessage responseMessage = httpClient.Send(httpRequestMessage);

            if (!responseMessage.IsSuccessStatusCode)
            {
                return(null);
            }
            using var reader = new StreamReader(responseMessage.Content.ReadAsStream());
            ImageGetDto imageGetDto = JsonConvert.DeserializeObject <ImageGetDto>(reader.ReadToEnd());

            return(imageGetDto);
        }