public async Task <ActionResult <MessageReadDTO> > GetMessage(long id)
        {
            var message = await _context.Messages.FindAsync(id);

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

            return(MessageReadDTO.ToDTO(message));
        }
示例#2
0
        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)));
        }