public async Task <ActionResult <MessageReadDTO> > GetMessage(long id) { var message = await _context.Messages.FindAsync(id); if (message == null) { return(NotFound()); } return(MessageReadDTO.ToDTO(message)); }
public async Task <ActionResult <IEnumerable <MessageReadDTO> > > GetTopicMessages(long id) { var topic = await _context.Topics.FindAsync(id); if (topic == null) { return(NotFound()); } return(await _context.Messages .Where(x => id == x.TopicId) .Select(x => MessageReadDTO.ToDTO(x)) .ToListAsync()); }
public async Task <ActionResult <IEnumerable <MessageReadDTO> > > GetUserMessages(long id) { var user = await _context.Users.FindAsync(id); if (user == null) { return(NotFound()); } return(await _context.Messages .Where(x => id == x.AuthorId) .Select(x => MessageReadDTO.ToDTO(x)) .ToListAsync()); }
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))); }