Esempio n. 1
0
        public async Task <IActionResult> PutTopic(int Id, [FromForm] CreateTopicDTO updateTopic)
        {
            var topicDB = await _context.Topics.FirstOrDefaultAsync(x => x.Id == Id);

            if (topicDB == null)
            {
                return(NotFound());
            }

            topicDB = _mapper.Map(updateTopic, topicDB);

            if (updateTopic.ImageUrl != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await updateTopic.ImageUrl.CopyToAsync(memoryStream);

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(updateTopic.ImageUrl.FileName);
                    topicDB.ImageUrl = await _fileStorageService.EditFile(content, extension, containerName, topicDB.ImageUrl, updateTopic.ImageUrl.ContentType);
                }
            }

            await _context.SaveChangesAsync();

            return(NoContent());
        }
Esempio n. 2
0
        public async Task <ActionResult> PostTopic([FromForm] CreateTopicDTO createTopic)
        {
            var topic = _mapper.Map <Topic>(createTopic);

            if (createTopic != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await createTopic.ImageUrl.CopyToAsync(memoryStream);

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(createTopic.ImageUrl.FileName);
                    topic.ImageUrl = await _fileStorageService.SaveFile(content, extension, containerName, createTopic.ImageUrl.ContentType);
                }
            }

            _context.Add(topic);

            await _context.SaveChangesAsync();

            var topicDTO = _mapper.Map <TopicDTO>(topic);

            return(CreatedAtAction("GetTopic", new { id = topicDTO.Id }, topicDTO));
        }