public async Task <ActionResult <MessageReadDTO> > PostMessage(MessageWriteDTO messageDTO) { if (!TopicExists(messageDTO.TopicId) || !UserExists(messageDTO.AuthorId)) { return(NotFound()); } var message = MessageWriteDTO.FromDTO(messageDTO); message.Created = DateTime.Now; _context.Messages.Add(message); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetMessage), new { id = message.Id }, MessageReadDTO.ToDTO(message))); }
public async Task <IActionResult> PutMessage(long id, MessageWriteDTO messageDTO) { if (id != messageDTO.Id) { return(BadRequest()); } var message = await _context.Messages.FindAsync(id); if (message == null) { return(NotFound()); } MessageWriteDTO.UpdateFromDTO(messageDTO, message); message.Modified = DateTime.Now; message.Status |= MessageStatuses.Edited; await _context.SaveChangesAsync(); return(NoContent()); }