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